zoukankan      html  css  js  c++  java
  • 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;
    ------------------------------------------------------------------------------------------------------------------------

  • 相关阅读:
    css知识小结(更新中)
    vim的简易操作
    shell语言学习(更新中)
    An Introduction to C & GUI Programming -----Simon Long 学习笔记 1
    fread,fwrite(二)
    fread,fwrite(一)
    printf 打印颜色
    容斥原理及证明
    字典的认识和使用 day05
    列表和元祖的使用 day 04
  • 原文地址:https://www.cnblogs.com/sung1024/p/15593936.html
Copyright © 2011-2022 走看看