SQL统计数据之总结

一、查询SQL

复制代码
SELECT
    t1.规则编号 AS 编码,
    t1.规则描述 AS 名称,
    SUM( CASE WHEN t3.DATA_SOURCES = '00' THEN 1 ELSE 0 END ) AS '类型01',
    SUM( CASE WHEN t3.DATA_SOURCES = '01' THEN 1 ELSE 0 END ) AS '类型02',
    SUM( CASE WHEN t3.DATA_SOURCES = '02' THEN 1 ELSE 0 END ) AS '类型03',
    SUM( CASE WHEN t3.DATA_SOURCES = '03' THEN 1 ELSE 0 END ) AS '类型04' 
FROM
    (
SELECT
    'A_M_0001' AS 规则编号,
    '规则01' AS 规则描述 UNION ALL
SELECT
    'A_M_0002' AS 规则编号,
    '规则02' AS 规则描述 UNION ALL
SELECT
    'A_M_0003' AS 规则编号,
    '规则03' AS 规则描述 UNION ALL
SELECT
    'A_M_0005' AS 规则编号,
    '规则04' AS 规则描述 UNION ALL
SELECT
    'A_M_0007' AS 规则编号,
    '规则05' AS 规则描述 UNION ALL
SELECT
    'A_M_0006' AS 规则编号,
    '规则06' AS 规则描述 UNION ALL
SELECT
    'A_M_0008' AS 规则编号,
    '规则07' AS 规则描述 UNION ALL
SELECT
    'A_J_0001_01' AS 规则编号,
    '规则08' AS 规则描述 UNION ALL
SELECT
    'A_J_0001_12' AS 规则编号,
    '规则09' AS 规则描述 UNION ALL
SELECT
    'A_J_0001_02' AS 规则编号,
    '规则10' AS 规则描述 UNION ALL
SELECT
    'A_J_0001_03' AS 规则编号,
    '规则11' AS 规则描述 UNION ALL
SELECT
    'A_J_0001_13' AS 规则编号,
    '规则12' AS 规则描述 UNION ALL
SELECT
    'A_J_0001_05' AS 规则编号,
    '规则13' AS 规则描述 UNION ALL
SELECT
    'A_J_0001_11' AS 规则编号,
    '规则14' AS 规则描述 UNION ALL
SELECT
    'A_J_0001_06' AS 规则编号,
    '规则15' AS 规则描述 UNION ALL
SELECT
    'A_J_0001_14' AS 规则编号,
    '规则16' AS 规则描述 UNION ALL
SELECT
    'A_J_0001_07' AS 规则编号,
    '规则17' AS 规则描述 UNION ALL
SELECT
    'A_J_0001_15' AS 规则编号,
    '规则18' AS 规则描述 UNION ALL
SELECT
    'A_J_0002_01' AS 规则编号,
    '规则19' AS 规则描述 UNION ALL
SELECT
    'A_J_0002_02' AS 规则编号,
    '规则20' AS 规则描述 UNION ALL
SELECT
    'A_J_0002_03' AS 规则编号,
    '规则21' AS 规则描述 UNION ALL
SELECT
    'A_J_0002_04' AS 规则编号,
    '规则22' AS 规则描述 UNION ALL
SELECT
    'A_J_0002_05' AS 规则编号,
    '规则23' AS 规则描述 UNION ALL
SELECT
    'A_J_0002_06' AS 规则编号,
    '规则24' AS 规则描述 UNION ALL
SELECT
    'A_J_0002_07' AS 规则编号,
    '规则25' AS 规则描述 UNION ALL
SELECT
    'A_J_0003_01' AS 规则编号,
    '规则26' AS 规则描述 UNION ALL
SELECT
    'A_J_0003_02' AS 规则编号,
    '规则27' AS 规则描述 UNION ALL
SELECT
    'A_J_0003_05' AS 规则编号,
    '规则28' AS 规则描述 
    ) t1
    LEFT JOIN RAMS_TRIAL_CHECKLIST t2 ON t2.RULE_CODE like concat('%',t1.规则编号,'%')
    LEFT JOIN RAMS_TRIAL_CHECKLIST_EXT t3 ON t2.CHECKLIST_ID = t3.CHECKLIST_ID 
WHERE
    DATE( t2.UPDATE_TIME ) = CURDATE( ) - INTERVAL 1 DAY 
GROUP BY t1.规则编号,t1.规则描述;

二、查询结果

三、总结

1.数据库表中不存在的字段,可以利用以下sql进行处理:
SELECT '60019311' AS code, '北京' AS name

union all

SELECT '60019312' AS code, '上海' AS name

union all

SELECT '60019313' AS code, '广州' AS name

union all

SELECT '60019314' AS code, '重庆' AS name

2.量表关联查询,利用【Like】进行条件关联:

复制代码
RAMS_TRIAL_CHECKLIST t2 ON t2.RULE_CODE like concat('%',t1.规则编号,'%')

3.case when sql语句:

复制代码
CASE WHEN t3.DATA_SOURCES = '00' THEN 1 ELSE 0 END

4.查询系统当前时间的前一天数据的数量:

复制代码
SELECT COUNT(ID) FROM DATA WHERE DATE( UPDATE_TIME ) = CURDATE( ) - INTERVAL 1 DAY
相关推荐
“αβ”4 小时前
MySQL表的操作
linux·网络·数据库·c++·网络协议·mysql·https
神秘的土鸡4 小时前
openEuler 25.09 企业级 MySQL主从复制部署与性能优化实战提升50%
linux·数据库·mysql·性能优化·openeuler
黎相思6 小时前
MySQL索引特性
数据库·mysql
f***28147 小时前
【零基础学Mysql】常用函数讲解,提升数据操作效率的利器
数据库·mysql
ttthe_MOon8 小时前
MySQL 基础入门:核心概念、安装部署与常用命令
mysql·adb
霸王大陆8 小时前
《零基础学PHP:从入门到实战》教程-模块七:MySQL 数据库基础-2
数据库·mysql·php
霸王大陆8 小时前
《零基础学PHP:从入门到实战》教程-模块七:MySQL 数据库基础-1
数据库·mysql·php
康不坦丁8 小时前
MySQL 的 order by 简化(使用列序号和列别名排序)
后端·mysql
('-')9 小时前
《从根上理解MySQL是怎样运行的》第二十五章笔记
数据库·笔记·mysql
尽兴-9 小时前
问题记录:数据库字段 `CHAR(n)` 导致前端返回值带空格的排查与修复
前端·数据库·mysql·oracle·达梦·varchar·char