SQL 服务器:计数(不同的(案例))
SQL Server : COUNT (DISTINCT (CASE) )
我需要计算货币的数量,如果超过两种,则需要 USD
。它可以是 GBP
,或其他任何东西,但如果它大于 1,则需要是 USD
。
好吧,我的查询应该是这样的,但没有成功:
SELECT
name,
COUNT(DISTINCT (case ft.currency_name > 1 then 'USD' end)) as Currency_Name
FROM
fundtable ft
您可以尝试以下方法:
select case when count(distinct ft.[currency_name]) > 1 then 'USD'
else ft.[currency_name]
end as [Currency_Name]
from [fundtable] ft
group by ft.[currency_name]
试试这个:
SELECT
ft.Currency_Name,
(CASE
WHEN COUNT(DISTINCT ft.Currency_Name)> 1 THEN 'USD'
ELSE ft.Currency_Name END) Currency_Name
FROM
fundtable ft
GROUP BY
ft.Currency_Name
我需要计算货币的数量,如果超过两种,则需要 USD
。它可以是 GBP
,或其他任何东西,但如果它大于 1,则需要是 USD
。
好吧,我的查询应该是这样的,但没有成功:
SELECT
name,
COUNT(DISTINCT (case ft.currency_name > 1 then 'USD' end)) as Currency_Name
FROM
fundtable ft
您可以尝试以下方法:
select case when count(distinct ft.[currency_name]) > 1 then 'USD'
else ft.[currency_name]
end as [Currency_Name]
from [fundtable] ft
group by ft.[currency_name]
试试这个:
SELECT
ft.Currency_Name,
(CASE
WHEN COUNT(DISTINCT ft.Currency_Name)> 1 THEN 'USD'
ELSE ft.Currency_Name END) Currency_Name
FROM
fundtable ft
GROUP BY
ft.Currency_Name