有表 a
结构为
日期 站名 菌落值
10-1 张强 12
10-1 王冰 98
10-2 张强 18
10-2 王冰 (空白)
10-3 张强 59
10-3 王冰 2.2
现我想统计菌落值超过50的各站及检测次数应该怎么写
所需要结果为:
站名 检测次数 超标次数
张强 3 1
王冰 2 1
------解决方案--------------------
- SQL code
--> --> (Roy)生成測試數據 declare @T table([日期] nvarchar(4),[站名] nvarchar(2),[菌落值] decimal(18,1))Insert @Tselect N'10-1',N'张强',12 union allselect N'10-1',N'王冰',98 union allselect N'10-2',N'张强',18 union allselect N'10-2',N'王冰',null union allselect N'10-3',N'张强',59 union allselect N'10-3',N'王冰',2.2 select 站名,检测次数=count( 菌落值) ,超标次数=sum(case when 菌落值>50 then 1 else 0 end) from @T group by 站名/*站名 检测次数 超标次数王冰 2 1张强 3 1*/