一条sql语句实现统计查询


如图:程序员在进行如下的统计时,现在提供两种实现方案:


方案一:运用 SEKECT CASE WHEN 
EXPLAIN
SELECT
	count(*) AS '总数',
	count(
		CASE oup.status
		WHEN '1' THEN
			oup.id
		END
	) AS '未绑定',
	count(
		CASE oup.status
		WHEN '2' THEN
			oup.id
		END
	) AS '已绑定',
	count(
		CASE oup.status
		WHEN '3' THEN
			oup.id
		END
	)AS  '冻结中'
FROM
	lab_org_uc_passport oup

显示结果:(按行显示)



方案二:
SELECT 	count(*) AS '总数' FROM lab_org_uc_passport oup 
UNION ALL
SELECT 	count(*) AS '未绑定' FROM lab_org_uc_passport oup WHERE oup.status = '1'
UNION ALL
SELECT 	count(*) AS '未绑定' FROM lab_org_uc_passport oup WHERE oup.status = '2'
UNION ALL
SELECT 	count(*) AS '未绑定' FROM lab_org_uc_passport oup WHERE oup.status = '3'

显示结果(按列显示)
34
3
10
21






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值