1

在阅读了几个类似的 Qs/As 之后,我还没有完全找到我正在寻找的解决方案。我拥有的表数据是 GROUP BY DATE(timestamp) 并返回一个计数,示例结果:

[timestamp] => 2010-05-12 20:18:36
[count] => 10


[timestamp] => 2010-05-14 10:10:10
[count] => 8

在不使用临时表或日历表的情况下,有没有办法填补那些缺失的日期?这样使用相同的表数据将返回:

[timestamp] => 2010-05-12 20:18:36
[count] => 10


/**
 * I would like to have this row added:
 */
[timestamp] => 2010-05-13 00:00:00
[count] => 0

[timestamp] => 2010-05-14 10:10:10
[count] => 8

谢谢!

4

3 回答 3

0

解决这个问题的最好方法是在客户端找到缺失的结果,并在呈现结果时添加它们。

于 2010-05-16T16:27:23.050 回答
0

我没有找到我正在寻找的确切解决方案,但我认为找到了一种足以满足我需求的方法。我创建了一个流量表,当天的第一个访问者将触发当天的行插入,现在我可以加入该表以获取任何内容的每日记录。然而,唯一的问题是,如果某一天没有流量,则该日期将不会出现在表中。这可以通过运行每日 cron 来插入新行来解决。

于 2010-05-24T04:52:43.740 回答
0

您应该创建一个计数表(只有 1 列:日期),并预先填写。你可以运行一个 cron 脚本来填满 1 年,然后每年运行一次。

于 2011-03-23T20:00:22.200 回答