SQl语句如何对select的结果进行分类统计(或者说如何用视图实现统计查询)

SQL如下,能查出我想要的数据,但是如何才能分类列表出来呢,就是如何改进才能统计,比如表头为部门、总共申请单数量、事假申请数量、看病假申请数量、外出申请数量这样分别列出每个部门的各种申请单数量select Q.USER_NAME,D.F_FULL_DEPT_NAME,L.QINGJIA_TYPE_NAME,Q.BEGIN_DATETIME,Q.END_DATETIME,Q.BIAODAN_TYPE,Q.QINGJIA_TYPE,Q.BIAODAN_ID from WJ_KQ_KQQINGJIABIAODAN Q LEFT join T_ORG_DEPT D on D.F_DEPT_ID = Q.F_DEPT_IDLEFT join WJ_KQ_QINGJIALEIXIN L on L.QINGJIA_TYPE_ID = Q.QINGJIA_TYPEwhere D.F_FULL_DEPT_NAME like '%/公司机关/%' and Q.BEGIN_DATETIME >='20181001' and Q.BEGIN_DATETIME <= '20181031'group by Q.USER_NAME,Q.BIAODAN_ID,D.F_FULL_DEPT_NAME,Q.BEGIN_DATETIME,Q.END_DATETIME,Q.BIAODAN_TYPE,Q.QINGJIA_TYPE,L.QINGJIA_TYPE_NAME

直接下面一句话就可以了:
select 单位名称,count(case 项目类别 when '理工类' then 1 end) 理工类,
count(case 项目类别 when '社科类' then 1 end) 社科类,
count(case 项目性质 when '横向' then 1 end) 横向,
count(case 项目性质 when '纵向' then 1 end) 纵向,
count(case 项目性质 when '校外' then 1 end) 校外,
count(*) 总数
from Item_Info
groupo by 单位名称追问

这个是连表查询出的结果哦,并不是一张表,你这个语句应该只能针对一张表吧,我需要left join 另外两张表才能查出上面的结果...

温馨提示:答案为网友推荐,仅供参考
相似回答