我对我的 mysql 查询有疑问。 我想统计每天的记录数。 这行得通,但我还想查看计数为 0 的日期。 总数为 0 的日期不在结果集中。 我怎么做? 这是我当前的查询:
SELECT COUNT(id) AS total_per_day,
DATE_FORMAT(reg_date, "%Y-%m-%d") as my_date
FROM my_table GROUP BY my_date
预先感谢您的回复。
最佳答案
试试这个查询-
-- Create this temp. table firstly!
-- CREATE TABLE days(d int);
-- INSERT INTO days(d) VALUES (0), (1), (2), (3), (4), (5), (6), (7), (8), (9);
SELECT t.day, COUNT(mt.id) total_per_day FROM (
SELECT
min_date + INTERVAL t1.d + t2.d * 10 DAY day,
min_date,
max_date
FROM days t1, days t2,
(SELECT MIN(DATE(reg_date)) min_date, MAX(DATE(reg_date)) max_date FROM my_table) t3
HAVING day BETWEEN min_date AND max_date) t
LEFT JOIN my_table mt
ON t.day = DATE(mt.reg_date)
GROUP BY t.day
关于mysql - sql 显示计数查询的所有日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9989375/