php - 计算每天的 MySQL 条目数,包括没有任何条目的天数(日期范围)

标签 php mysql

我有一个 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 构建日期列表。

根据时间部分左连接到您的数据表以实现您的日期列表

有关更多信息,请访问链接

MySQL how to fill missing dates in range?

关于php - 计算每天的 MySQL 条目数,包括没有任何条目的天数(日期范围),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31001095/

相关文章:

php - 在 Codeigniter 中使用 JOIN 时回显来自特定表的记录

php - Laravel excel 在导入前获取总行数

php - jQuery数据表在PHP中不起作用

mysql - 如何仅在 MySQL 中将日期时间时区格式更改/转换为日期格式

php - MySQL 查询 - 选择所有帖子并计算每个帖子的评论

c# - 嵌套数据读取器问题 mysql c#

javascript - 如何在纯 Javascript 中的 PHP AJAX 调用中使用 header 重定向?

php - 阻止在 PHP Composer 中安装包以使用包的分支

java - 如何使用 spring 和 hibernate 从 mysql 获取图像列表

php - 安全的 php 脚本执行