2012-05-02 184 views
0

我有一个表,其中基本上是每个用户的活动日志,我想显示从用户的最后一次活动以来它已经过了多长时间。按结果分组排序MySQL

查询:

SELECT message_log.log_phone_number, message_log.log_updated 
FROM message_log 
WHERE message_log.log_mode = “inbound” 
GROUP BY message_log.log_phone_number 

结果

415407XXXX 2012-03-07 13:34:14  
434242XXXX 2012-03-07 16:00:42   
434465XXXX 2012-03-07 14:49:15   
434989XXXX 2012-03-07 15:30:22   
757615XXXX 2012-03-07 15:30:54   
804651XXXX 2012-03-07 14:13:04   
920917XXXX 2012-03-07 15:11:28 

问题:我的结果正显示出最古老的时间戳,我想最近的。 GROUP BY内有ORDER吗?

回答

3
SELECT message_log.log_phone_number, max(message_log.log_updated) 
FROM message_log 
WHERE message_log.log_mode = “inbound” 
GROUP BY message_log.log_phone_number 
2

你只需要一个MAX()。

SELECT message_log.log_phone_number, 
MAX(message_log.log_updated) as log_updated 
FROM message_log 
WHERE message_log.log_mode = “inbound” 
GROUP BY message_log.log_phone_number 
+0

谢谢!工作很好 – user1232939