【发布时间】:2010-09-15 21:38:20
【问题描述】:
我有这个查询来按日期计算表中的“视图”。它显然只给了我有活动的日期,但我希望我可以让 MySQL 在选定的时间段内返回数据。例如 30 天的 30 行,为没有匹配行的日期创建空数据。
我希望避免使用 PHP 来解决这个问题,所以我想我会在这里询问有关如何通过智能查询来完成此任务的建议。
查询:
SELECT count(ID) AS views, date AS view_date
FROM logging.views
WHERE date < DATE_SUB(NOW(),INTERVAL 30 DAY)
GROUP BY DAY(date)";
下面的示例只给了我 7 行,显然是因为在选定的 30 天间隔中只有匹配 7 个不同天的条目。我希望我能得到 30 行,代表设定间隔内的所有天。
输出:
Array
(
[0] => Array
(
[date] => 2010-09-01 22:04:19
[views] => 20
)
[1] => Array
(
[date] => 2010-08-13 00:15:54
[views] => 4
)
[2] => Array
(
[date] => 2010-08-24 17:46:53
[views] => 2
)
[3] => Array
(
[date] => 2010-08-25 07:18:11
[views] => 35
)
[4] => Array
(
[date] => 2010-08-26 08:02:47
[views] => 12
)
[5] => Array
(
[date] => 2010-08-27 09:56:05
[views] => 29
)
[6] => Array
(
[date] => 2010-08-28 12:46:17
[views] => 30
)
)
【问题讨论】:
标签: mysql