这个MySQL的查询语句 select id, manage_id, status, create_by, create_id, create_time, dept_id, dept_by, update_by, update_id, update_time from drill_study 需求:当status = 3 时,根据create_time进行每天的分组统计数据数量不存在为0,当status = 4 时,update_time进行每天的分组统计数据数量不存在为0 请编写sql
时间: 2023-06-04 18:08:29 浏览: 89
数据库MySQL-查询语句
5星 · 资源好评率100%
语句。
以下是该问题的 SQL 查询语句:
SELECT
DATE_FORMAT(create_time, '%Y-%m-%d') as date,
count(case when status = 3 then 1 end) as status_3_count,
count(case when status = 4 then 1 end) as status_4_count
FROM
drill_study
WHERE
(status = 3 AND create_time BETWEEN '2022-01-01' AND '2022-01-31')
OR
(status = 4 AND update_time BETWEEN '2022-01-01' AND '2022-01-31')
GROUP BY
date;
该查询语句的含义是,按日期统计以下两种情况下的数据数量:
1. 当 status=3 时,根据 create_time 进行每天的分组统计数据数量不存在为 0。
2. 当 status=4 时,根据 update_time 进行每天的分组统计数据数量不存在为 0。
并且,该查询语句只统计 2022 年 1 月的数据。
阅读全文