关于多层级统计数量的sql编写

要求查出每级网格的上报事件的数量,其中,网格是xx.xx.xx.xx的层级关系

首先 出每级网格

SELECT
        s.orgname,
        s.ORGID
    FROM
        sys_org_info s
    WHERE
        s.ORGID LIKE '37.02.82%'
    AND s.ORGLEVEL = 4

d07b17fa5925952382666471d6c8e6f1e17.jpg

然后与主表 事件表外链接  取数,其中  on的  链接条件是 ON e1.ORGID LIKE CONCAT(s1.ORGID, '%')

全部sql  

SELECT
    s1.orgname,
    s1.ORGID,
    sum(CASE WHEN e1.SOURCE_TYPE_ID = '3702820401' THEN 1 ELSE 0 END) wg,
    sum(CASE WHEN e1.SOURCE_TYPE_ID = '3702820402' THEN 1 ELSE 0 END) wx,
    count(e1.GUID) su
FROM
    (
        SELECT
            *
        FROM
            event_base_info e
        WHERE
            1 = 1
    ) e1
RIGHT JOIN (
    SELECT
        s.orgname,
        s.ORGID
    FROM
        sys_org_info s
    WHERE
        s.ORGID LIKE '37.02.82%'
    AND s.ORGLEVEL = 4
) AS s1 ON e1.ORGID LIKE CONCAT(s1.ORGID, '%')
WHERE
    1 = 1
GROUP BY
    s1.ORGID
ORDER BY
    s1.ORGID

查询 结果

874ca0de0ca400b4a27c878ff9a62174bf3.jpg

转载于:https://my.oschina.net/u/3286465/blog/1944843

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值