【发布时间】:2020-06-11 06:02:24
【问题描述】:
我需要计算表中使用单个查询对产品代码进行过滤的过程数,但在同一列中返回单独的计数。数据是这样的
prod_id prod_code
1 0A
2 0A
3 0B
4 0A
5 0B
6 0B
从上面的数据集中,0A 和 0B 的总数分别为 3 和 3。这是我数完后想要的
prod_code count prod_name
0A 3 Product A
0B 3 Product B
我知道使用单个查询进行多次计数的一种方法就是这样。但是,这为每个产品的计数提供了单独的列。我怎样才能让他们在同一列?
select sum(case when proc_code LIKE '0A' then 1 else 0 end) as count1
,sum(case when proc_code LIKE '0B' then 1 else 0 end) as count2
from products
【问题讨论】:
-
提示:
GROUP BY。COUNT().
标签: sql