关于SQL聚合函数请教
字段有两个:p_code(产品代号),p_status(产品状态)
declare @tb_product table (p_id int identity(1,1),p_code int,p_status int)
insert into @tb_product(p_code,p_status)
select '111 ', '1 ' union all
select '111 ', '2 ' union all
select '111 ', '2 ' union all
select '222 ', '1 ' union all
select '222 ', '2 ' union all
select '222 ', '1 '
想查的:以p_code分组
count(p_status)--所有状态的数量
count(p_status=2)--状态为2的数量
可以一条语句模块查出三列么?
p_code,count(p_status),count(p_status=2)
group by p_code
谢谢各位,费心了.
------解决方案--------------------select p_code,count(*),sum(case when p_status=2 then 1 else 0 end) from @tb_product group by p_code