此SQL语句
SELECT `ip`, `when` FROM `metrics` WHERE `vidID` = '1' GROUP BY DATE('when')
返回一个结果,即使表中存在多个日期不同的结果。我也尝试过使用DATE_FORMAT
。我做了些蠢事吗?
When
是一个带有完整时间戳的时间戳列,包括小时,分钟和秒。我试图按日/月/年按结果分组。
答案 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有哪些日期的记录?