【发布时间】:2012-01-05 07:27:40
【问题描述】:
所以我正在尝试为我的应用构建一些不错的统计数据显示。我可以这样做,因为我将命中统计信息保存在表格中。它只是跟踪点击次数以及其他一些不错的数据以及它发生的时间。我可以查询 db 以显示过去 x 天中某一天或每天发生了多少次点击,如下面的代码所示。但是,下面的代码仅返回有数据的日期。我想显示最近 30 天的点击量,无论一天是否有点击量。想法?
SELECT DATE(time) AS theday, COUNT( * ) AS thecount
FROM stats
WHERE time <= curdate( )
AND time >= DATE_SUB( curdate(), INTERVAL 30 DAY )
GROUP BY theday ORDER BY time DESC
生产
theday thecount
2011-11-22 5
2011-11-21 9
2011-11-18 10
2011-11-16 1
2011-11-11 2
2011-11-10 15
2011-11-09 2
2011-10-26 1
2011-10-24 6
如您所见,它会跳过没有结果的日期。我明白为什么会这样,因为数据库中没有这些日期的行。我想知道如何生成一个几乎像上面那样工作但具有所述间隔的所有日期的查询。 IE:过去 30 天。
【问题讨论】:
-
显然,如果表格中没有命中该日期,则选择不会返回任何内容
标签: php mysql statistics analytics