2009-06-29 116 views
0

此SQL语句分组结果按日期在MySQL

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

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

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

回答

4

看起来像你正在按常量字符串'when'分组而不是字段when

用这个代替:

GROUP BY DATE(`when`) 

听起来像是你要算IP地址给定日期:

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

+1只是打败了我 – 2009-06-29 16:37:42

+0

感谢您的回复,Welbog ...发生语法错误 – waxical 2009-06-29 16:38:53

0

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