2012-05-02 100 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