我有一个 MySQL 表
id mydate content
----------------------------------
1 2015-06-20 some content
2 2015-06-20 some content
3 2015-06-22 some content
现在我想计算每天的条目数:
SELECT DATE(mydate) Date, COUNT(DISTINCT id) dayCount FROM mytable
GROUP BY DATE(mydate) HAVING dayCount > -1 ORDER BY DATE(mydate) DESC
这对我有用,结果:
2015-06-20 = 2
2015-06-22 = 1
如何获取没有任何条目的天数?在我的例子中,结果应该是:
2015-06-19 = 0
2015-06-20 = 2
2015-06-21 = 0
2015-06-22 = 1
2015-06-23 = 0
基于此:
<?php
$today = date("Y-m-d");
$mystartdate = date_create($today);
date_sub($mystartdate, date_interval_create_from_date_string('14 days'));
$mystartdate = date_format($mystartdate, 'Y-m-d');
?>
最后我想输出过去 14 天的计数,也带有“0 天”。希望你能理解我的问题。
最佳答案
为此,您可以创建包含增量数字的新表,但这不是一个好主意。但是,如果这样做,请使用此表使用 DATE_ADD 构建日期列表。
根据时间部分左连接到您的数据表以实现您的日期列表
有关更多信息,请访问链接
关于php - 计算每天的 MySQL 条目数,包括没有任何条目的天数(日期范围),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31001095/