mysql 列表展示,最后一行统计以上列表。union all

效果如图,原本想最后一行的数据再请求一次进行统计。。

百度瞎捉摸,Mysq中的Union all 可以拼接。只需对上面的sql进行sum, 字段 对应就可以。


SELECT
a.area,
a.companyNum,
COUNT(a.EXAMINE_RESULT != '')checkNum,
COUNT(a.EXAMINE_RESULT = 1) unPassNum,
COUNT(a.HANDLE_RESULT LIKE '%5%') punishNum
FROM 
(
SELECT 
zje.AREA,
COUNT(zje.LICENCE_CODE !='') companyNum,
zjr.EXAMINE_RESULT,
zjr.COMPANY_ID,
zjr.HANDLE_RESULT,
COUNT(CASE WHEN zju.PUNISH LIKE '%5%' THEN 1 ELSE NULL END) rePunish
FROM 
zj_enterprise zje INNER JOIN zj_samling_result zjr ON zje.ENTERPRISE_ID = zjr.COMPANY_ID INNER JOIN zj_samling_unqualified zju ON zjr.ID = zju.RESULT_ID
GROUP BY zje.AREA
)AS a
GROUP BY a.COMPANY_ID

UNION ALL 

SELECT '合计' AS AREA,SUM(b.companyNum) companyNum,SUM(b.checkNum) checkNum,SUM(b.unPassNum) unPassNum,SUM(b.punishNum) punishNum FROM (
SELECT
a.area,
a.companyNum,
COUNT(a.EXAMINE_RESULT != '')checkNum,
COUNT(a.EXAMINE_RESULT = 1) unPassNum,
COUNT(a.HANDLE_RESULT LIKE '%5%') punishNum
FROM 
(
SELECT 
zje.AREA,
COUNT(zje.LICENCE_CODE !='') companyNum,
zjr.EXAMINE_RESULT,
zjr.COMPANY_ID,
zjr.HANDLE_RESULT,
COUNT(CASE WHEN zju.PUNISH LIKE '%5%' THEN 1 ELSE NULL END) rePunish
FROM 
zj_enterprise zje INNER JOIN zj_samling_result zjr ON zje.ENTERPRISE_ID = zjr.COMPANY_ID INNER JOIN zj_samling_unqualified zju ON zjr.ID = zju.RESULT_ID
GROUP BY zje.AREA
)AS a
GROUP BY a.COMPANY_ID
) AS b 

使用Union all 拼接的使用,前后两个的字段要对应。。

简单给自己记录下,省的忘记了。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值