在mysql中按日期对结果进行分组

时间:2009-06-29 16:32:38

标签: sql mysql group-by

此SQL语句

SELECT `ip`, `when` FROM `metrics` WHERE `vidID` = '1' GROUP BY DATE('when')

返回一个结果,即使表中存在多个日期不同的结果。我也尝试过使用DATE_FORMAT。我做了些蠢事吗?

When是一个带有完整时间戳的时间戳列,包括小时,分钟和秒。我试图按日/月/年按结果分组。

2 个答案:

答案 0 :(得分:4)

您似乎是按常量字符串'when'而不是字段when进行分组。

请改用:

GROUP BY DATE(`when`)

听起来您想要计算给定日期的IP地址:

SELECT COUNT(`ip`) AddressCount, `when`
FROM `metrics` 
WHERE `vidID` = '1' 
GROUP BY DATE(`when`)

答案 1 :(得分:0)

通常,GROUP BY与某些聚合函数(如SUM)一起使用,以计算一列或多列的结果集。你想在这里完成什么?你的意思是排序,或只是得到一个折叠列表,其中哪些IP有哪些日期的记录?