• myql分地区印章各状态数据量统计sql


     

    version:5.7.27 

    -- SQL脚本

    SELECT

    te.total,
    c.`name` AS districtName,
    ifnull( ver_t.total, '0' ) AS verTotal,
    c.CODE,
    '' AS NAME,
    '' AS address,
    ifnull( ms_t.total, 0 ) AS msTotal,
    ifnull( ms_tt.total, 0 ) AS hsTotal,
    ifnull( wjf_t.total, 0 ) AS wjfTotal,
    ifnull( tui_t.total, 0 ) AS tuiTotal,
    (
    CASE

    WHEN jft_t.total = 0 THEN
    '0.00%'
    WHEN ( ver_t.total = 0 OR ver_t.total IS NULL ) THEN
    '0.00%'
    WHEN ROUND(( ver_t.total / jft_t.total )* 100, 2 )> 100 THEN
    '100.00%' ELSE CONCAT( ROUND(( ver_t.total / jft_t.total )* 100, 2 ), '%' )
    END
    ) AS bili,
    (
    CASE

    WHEN ms_t.total = 0 THEN
    '0.00%'
    WHEN ( ms_tt.total = 0 OR ms_tt.total IS NULL ) THEN
    '0.00%'
    WHEN ROUND(( ms_tt.total / ms_t.total )* 100, 2 )> 100 THEN
    '100.00%' ELSE CONCAT( ROUND(( ms_tt.total / ms_t.total )* 100, 2 ), '%' )
    END
    ) AS msbili,
    (
    CASE

    WHEN te.total = 0 THEN
    '0.00%'
    WHEN ( tui_t.total = 0 OR tui_t.total IS NULL ) THEN
    '0.00%'
    WHEN ROUND(( tui_t.total / te.total )* 100, 2 )> 100 THEN
    '100.00%' ELSE CONCAT( ROUND(( tui_t.total / te.total )* 100, 2 ), '%' )
    END
    ) AS zgbili
    FROM
    (
    SELECT
    s.district_no,
    COUNT( s.id ) AS total
    FROM
    lv_seal s
    WHERE
    s.is_deleted = 'N'
    AND s.city_no = '430700'
    AND s.approval_date >= '20201001'
    AND s.approval_date <= '20210930'
    GROUP BY
    s.district_no
    ORDER BY
    s.district_no DESC
    ) AS te
    LEFT JOIN (
    SELECT
    s.district_no,
    COUNT( s.id ) AS total
    FROM
    lv_seal s
    WHERE
    s.is_deleted = 'N'
    AND STATUS = '4'
    AND s.city_no = '430700'
    AND s.fetch_date >= '20201001'
    AND s.fetch_date <= '20210930'
    GROUP BY
    s.district_no
    ORDER BY
    s.district_no DESC
    ) AS jft_t ON te.district_no = jft_t.district_no
    LEFT JOIN (
    SELECT
    s.district_no,
    COUNT( s.id ) AS total
    FROM
    lv_seal s
    WHERE
    s.is_deleted = 'N'
    AND vertify_type IN ( '1', '2' )
    AND STATUS = '4'
    AND s.city_no = '430700'
    AND s.fetch_date >= '20201001'
    AND s.fetch_date <= '20210930'
    GROUP BY
    s.district_no
    ORDER BY
    s.district_no DESC
    ) AS ver_t ON te.district_no = ver_t.district_no
    LEFT JOIN lv_district c ON te.district_no = c.`code`
    LEFT JOIN ( SELECT COUNT(*) AS total, district_no FROM lv_marker_site GROUP BY district_no ORDER BY district_no DESC ) AS ms_t ON c.CODE = ms_t.district_no
    LEFT JOIN (
    SELECT
    COUNT(*) AS total,
    district_no
    FROM
    (
    SELECT
    ms.`name`,
    ms.marker_site_no,
    s_t.total,
    ms.city_no,
    ms.district_no
    FROM
    lv_marker_site ms
    LEFT JOIN (
    SELECT
    marker_site_no,
    COUNT( id ) AS total
    FROM
    lv_seal
    WHERE
    marker_site_no IS NOT NULL
    AND approval_date >= '20201001'
    AND approval_date <= '20210930' GROUP BY marker_site_no ) AS s_t ON ms.marker_site_no = s_t.marker_site_no WHERE s_t.total IS NOT NULL AND s_t.total > 0
    ) AS h_ms_t
    GROUP BY
    h_ms_t.district_no
    ORDER BY
    h_ms_t.district_no DESC
    ) AS ms_tt ON ms_tt.district_no = ms_t.district_no
    LEFT JOIN (
    SELECT
    s.district_no,
    COUNT( s.id ) AS total
    FROM
    lv_seal s
    WHERE
    s.is_deleted = 'N'
    AND vertify_type = '2'
    AND s.city_no = '430700'
    AND s.approval_date >= '20201001'
    AND s.approval_date <= '20210930'
    GROUP BY
    s.district_no
    ORDER BY
    s.district_no DESC
    ) AS tui_t ON c.CODE = tui_t.district_no
    LEFT JOIN (
    SELECT
    s.district_no,
    COUNT( s.id ) AS total
    FROM
    lv_seal s
    WHERE
    s.is_deleted = 'N'
    AND STATUS != '4'
    AND s.city_no = '430700'
    AND s.approval_date >= '20201001'
    AND s.approval_date <= '20210930'
    GROUP BY
    s.district_no
    ORDER BY
    s.district_no DESC
    ) AS wjf_t ON c.CODE = wjf_t.district_no
    WHERE
    c.CODE IS NOT NULL
    ORDER BY
    c.CODE;
    ------------------------------------------------------------------------------------------------------------------------

  • 相关阅读:
    fms服务器端呼叫客户端
    Linux C取整的方法
    fms客户端呼叫服务器端
    Tree Control DataProviders
    IE7下的css style display的兼容处理
    Maxthon,TheWorld,MyIE等多标签浏览器的Flash缓存问题
    Android深入浅出系列之实例应用—弹出消息Toast对象的使用纯文本方式(一)
    C#温故而知新学习系列之XML编程—Xml读取器XmlReader类(二)
    一步一个脚印学习WCF系列之WCF概要—生成元数据与代理(五)
    Eclipse 常用快捷键(转)
  • 原文地址:https://www.cnblogs.com/sung1024/p/15593936.html
Copyright © 2020-2023  润新知