oracle小记之一张表中实现多个字段的统计(多个count)

来源:互联网 发布:金坷垃 知乎 编辑:程序博客网 时间:2024/05/02 06:44

---------------------------纯属为了做笔记


需求:统计WAIT_ORDER表中的工单总数、未处理工单总数、已完成工单总数、未完成工单总数。


表结构 : 为了举例子方便,WAIT_ORDER表只有两个字段,分别是ID、STATUS,其中STATUS为工单的状态。1表示未处理,2表示已完成,3表示未完成总数。


SQL:  

SELECT        COUNT(B.ID) AS 工单总数,       COUNT(CASE               WHEN B.status  IN ('1') THEN                'un_deal'             END) 未处理工单总数,                    COUNT(CASE               WHEN B.status IN ('2') THEN                'had_complete'                         END) 已完成工单总数,              COUNT(CASE               WHEN B.status = '3' THEN                'un_complete'                         END) 未完成工单总数                         FROM WAIT_ORDER B  

结果为下图: