一个SQL查询进行多个计数

时间:2020-06-10 20:38:04

标签: sql

我需要对表中的过程数量进行计数,这些过程使用单个查询在产品代码上进行了过滤,但是在同一列中返回了单独的计数。数据看起来像这样

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

1 个答案:

答案 0 :(得分:0)

select prod_code, count(prod_code)
from products
group by prod_code