这条 SQL 语句
SELECT `ip`, `when` FROM `metrics` WHERE `vidID` = '1' GROUP BY DATE('when')
返回一个结果,即使表中存在多个具有不同日期的结果。我也试过用DATE_FORMAT
。我在做傻事吗?
When
是具有完整时间戳的时间戳列,包括小时、分钟和秒。我试图按天/月/年按结果分组。
看起来您是按常量 string'when'
而不是 field分组when
。
改用这个:
GROUP BY DATE(`when`)
听起来您想计算给定日期的 IP 地址:
SELECT COUNT(`ip`) AddressCount, `when`
FROM `metrics`
WHERE `vidID` = '1'
GROUP BY DATE(`when`)
通常,GROUP BY 与一些聚合函数(比如 SUM)结合使用来计算一列或多列的结果集。你想在这里完成什么?您的意思是排序,还是只是获取哪些 IP 在哪些日期有记录的折叠列表?