我有一个这样的表:
Date Product
1/1/2015 Apples
1/1/2015 Apples
1/1/2015 Oranges
1/2/2015 Apples
1/2/2015 Apples
1/2/2015 Oranges
Run Code Online (Sandbox Code Playgroud)
我怎样才能进行选择,这样我就会得到这样的结果:
Date Count of Apples Count of Oranges
1/1/2015 2 1
1/2/2015 2 1
Run Code Online (Sandbox Code Playgroud)
谢谢。我尝试过这样的情况,但抛出了错误:
Select 'Date',
CASE WHEN 'Product' = 'Apples' THEN COUNT(*) ELSE 0 END as 'Count'
FROM #TEMP Group by 1,2
Run Code Online (Sandbox Code Playgroud)
每个 GROUP BY 表达式必须至少包含一列不是外部引用。
您可以像这样进行条件聚合:
select
[date],
sum(case when Product = 'Apples' then 1 else 0 end) as [Count of Apples],
sum(case when Product = 'Oranges' then 1 else 0 end) as [Count of Oranges]
from #temp
group by [date]
Run Code Online (Sandbox Code Playgroud)