我試圖在stackoverflow上搜索google。我主要看到,我們使用最大。但是,在我的記錄中,它將成千行,所以它會在完成之前吃掉很多時間。Mysql通過datetime或unixtime獲取用戶多行記錄的最新記錄
基本上,我只是想通過datetime或unixtime獲取最新的記錄。
表中的記錄,通過日期時間ASC排序:
查詢:SELECT * FROM佔ORDER BY日期時間ASC;
+----------+--------+---------------------+------------+
| user_id | status | datetime | unixtime |
+----------+--------+---------------------+------------+
| 14254047 | 1 | 2013-03-27 01:25:12 | 1364343912 |
| 14254270 | 1 | 2013-03-27 09:36:58 | 1364373418 |
| 14254619 | 1 | 2013-03-27 16:07:04 | 1364396824 |
| 14254047 | 0 | 2013-05-08 07:20:39 | 1367990439 |
| 14254270 | 0 | 2013-05-09 04:01:36 | 1368064896 |
| 14254619 | 0 | 2013-05-09 04:01:36 | 1368064896 |
+----------+--------+---------------------+------------+
當我通過USER_ID分組它們,結果總是顯示的第一條記錄。不是最新的,由datetime或unixtime DESC甚至添加順序
查詢:按日期時間DESC USER_ID爲了SELECT * FROM帳戶組;
+----------+--------+---------------------+------------+
| user_id | status | datetime | unixtime |
+----------+--------+---------------------+------------+
| 14254047 | 1 | 2013-03-27 01:25:12 | 1364343912 |
| 14254270 | 1 | 2013-03-27 09:36:58 | 1364373418 |
| 14254619 | 1 | 2013-03-27 16:07:04 | 1364396824 |
+----------+--------+---------------------+------------+
我想要的結果如下:
+----------+--------+---------------------+------------+
| user_id | status | datetime | unixtime |
+----------+--------+---------------------+------------+
| 14254047 | 0 | 2013-05-08 07:20:39 | 1367990439 |
| 14254270 | 0 | 2013-05-09 04:01:36 | 1368064896 |
| 14254619 | 0 | 2013-05-09 04:01:36 | 1368064896 |
+----------+--------+---------------------+------------+
什麼可能是最好的方法,不使用MAX()?
問候
最多是否應始終使用?它需要一段時間才能完成上千行。 – 2013-05-09 02:20:15
@LouieMiranda。 。 。可能有其他的替代公式使用'存在',但它會是相同的想法。一千行不是很多行,所以性能應該不是什麼大問題,除非你每秒鐘多次運行這個查詢。 – 2013-05-09 02:22:47