MySQL日期组与日期时间混合来自不同月份的相同日期

时间:2012-03-24 05:06:55

标签: mysql

我正在尝试从同一天对帖子进行分组,问题是2/20与3/20分组(20 = 20)

如何解决这个问题?

这是我目前的代码:

select day(Date), count(*) from Posts WHERE shopID != '' group by shopID, day(Date)

2 个答案:

答案 0 :(得分:3)

您需要按照可能不同的每一件进行分组。因此,根据查询范围,添加MONTH(Date)甚至YEAR(Date)

select DAY(Date), count(*) from Posts WHERE shopID != '' group by shopID, YEAR(Date), MONTH(Date), DAY(Date)

答案 1 :(得分:0)

您也可以这样分组:UNIX_TIMESTAMP(date(date)),而不是分别按年,月和日进行分组

select date(date), count(*) from Posts
WHERE shopID != ''
group by shopID, UNIX_TIMESTAMP(date(date))

请注意,您还必须在select语句中使用其他日期数据,以便能够识别当天所属的月份/年份。如果你不这样做,你将获得大量的日期和数量,但是每个月/每年都会重复一天的数字。

这就是我使用date(date), count(*)的原因。