oracle多条件分组查询数量_Oracle一张表中实现多个字段的统计(多个count)

本文介绍了如何使用Oracle SQL进行多条件分组查询,以统计WAIT_ORDER表中不同状态的工单数量。通过CASE语句结合COUNT函数,分别计算了未处理、已完成和未完成工单的总数,简化了原始查询并提高了效率。
摘要由CSDN通过智能技术生成

转自:http://www.linuxidc.com/Linux/2012-06/62894.htm

需求:统计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

结果为下图:

438565e8f78f9c967c3f51c49a09ef9e.png

下半部分,来自工作中:

原SQL:

SELECT  A.app_cnt

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值