1
Name  | Fruit  |  Red  
John  | Apple  |  Yes  
John  | Apple  |  No  
John  | Pear   |  Yes  
Mike  | Mango  |  No

次のような結果を得るにはどうすればよいですか。

Name | Fruits total | Red fruits total  
John | 3            | 2

別の列の 2 つのカウント操作で最初の列の値を使用するにはどうすればよいですか? 出来ますか?それが役立つ場合は、ssrs レポートにこのクエリが必要です。

4

1 に答える 1

1

次を使用できます。名前でフィルタリングしている場合は、count(*)を使用して集計関数を使用し、CASE赤い果物の総数を決定できます。

select name,
  count(*) TotalFruit,
  sum(case when red='Yes' then 1 else 0 end) TotalRed
from yourtable
where name = 'John'
group by name

SQL FiddlewithDemoを参照してください

結果:

| NAME | TOTALFRUIT | TOTALRED |
--------------------------------
| John |          3 |        2 |
于 2012-12-12T15:02:47.820 に答える