按日期分组时间戳MySQL

时间:2011-05-13 15:51:00

标签: mysql group-by timestamp unix-timestamp

我在时间戳上有以下查询(由INT(10)指定,哪种做我想要的,但不完全是:

SELECT count(entry_date) as theCount, FROM_UNIXTIME(entry_date, '%Y-%m-%d') AS dd 
FROM exp_weblog_titles 
WHERE entry_date < UNIX_TIMESTAMP(NOW()) 
GROUP BY dd 
ORDER BY dd DESC 
LIMIT 7

这会在今天的日期之前吐出最后7个日期和那些日期的条目数。我创建的查询的问题是,如果它实际上有一个条目,它只会吐出日期。实际上,即使零条目,我仍然希望包含该日期。这可能吗?

1 个答案:

答案 0 :(得分:4)

您需要从某个地方获取日期列表。很多人为此目的创建了一个日历表,其中包含了他们需要的每个日期(或每个值),以便可以连接此日历表和数据表以提供此类查询。

从长远来看,你会发现这比任何其他解决方案都简单得多,只需要花一点时间来设置。

有关如何生成此类表格的示例,请参阅this article