日期:2014-05-17  浏览次数:20493 次

一个关于 SQL 统计的问题,求解
SELECT YEAR(ins.CREATETIME) AS CYEAR,MONTH(ins.CREATETIME) AS CMONTH, COUNT(ins.ID) AS C 
FROM WfInstance ins inner join WfModel mo 
ON ins.ModelID = mo.ID
WHERE Status IN(2,3,4,9) AND SYSTEMTYPE=1
GROUP BY YEAR(ins.CREATETIME),MONTH(ins.CREATETIME)

这个语句查出三个列 :  年,月,4状态总数

目标:我想查出四个列: 年,月,4状态总数,3状态总数(包括 3,4,9三个状态 )

不知道能不能在这一个语句里完成? 

望大侠们出招儿,谢过!
sql

------解决方案--------------------
SELECT YEAR(ins.CREATETIME) AS CYEAR,MONTH(ins.CREATETIME) AS CMONTH, COUNT(ins.ID) AS C 
, sum(case when Status IN(3,4,9) then 1 else 0 end) AS C1
FROM WfInstance ins inner join WfModel mo 
ON ins.ModelID = mo.ID
WHERE Status IN(2,3,4,9) AND SYSTEMTYPE=1
GROUP BY YEAR(ins.CREATETIME),MONTH(ins.CREATETIME)