我的 MySQL 查询有问题,该查询按工作日对表中的数据进行分组。
我需要它来填充数据中缺失的工作日,例如下面 SQL 示例中的星期日(工作日 7)。
SQL小提琴
MySQL 5.6 架构设置:
create table test (
`id` INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
`date` DATETIME
);
INSERT INTO test (`date`) VALUES
('2016-05-16 00:00:00'),
('2016-05-17 00:00:00'),
('2016-05-18 00:00:00'),
('2016-05-20 00:00:00'),
('2016-05-21 00:00:00'),
('2016-05-22 00:00:00'),
('2016-05-16 00:00:00'),
('2016-05-17 00:00:00'),
('2016-05-18 00:00:00'),
('2016-05-20 00:00:00');
Query 1:
SELECT WEEKDAY(date) AS weekday,
COUNT(id) AS posts
FROM test
GROUP BY WEEKDAY(date)
Results:
| weekday | posts |
|---------|-------|
| 0 | 2 |
| 1 | 2 |
| 2 | 2 |
| 4 | 2 |
| 5 | 1 |
| 6 | 1 |
我希望它也返回这条线。
| 3 | 0 |
我的完整查询非常复杂,所以我希望您找到一个快速解决方案。