0
我有一個表結構,如:SQL:按時間排序A組和限制結果
Name Time
Joe 2012-02-22 22:11:26.0
Joe 2012-02-22 21:01:23.0
Sue 2012-02-22 20:57:10.0
john 2012-02-22 18:13:36.0
Fred 2012-02-22 16:56:57.0
Joe 2012-02-22 14:38:45.0
Joe 2012-02-22 14:38:45.0
Ralph 2012-02-22 14:26:20.0
... ...
(more Names and Times)
... ...
john 2010-03-10 15:27:39.0
john 2010-03-10 15:46:59.0
我要找的前3名按時間排序。因此,結果將是:
Joe, Sue, john
我開始喜歡一個查詢:
SELECT Name FROM table ORDER BY LOWER(TIME) DESC
,所以我想限制與結果:
SELECT Name FROM table ORDER BY LOWER(TIME) DESC LIMIT 0 , 3
但結果顯示前3行:
Joe, Joe, Sue
現在我的名字試圖組查詢第一:
SELECT Name FROM table GROUP BY Name ORDER BY LOWER(TIME) DESC LIMIT 0 , 3
是的,讓我3點不同的名稱,但在不可再現的順序。 我在這裏錯過了什麼嗎?這裏的正確語法是什麼?
嘗試過。但也顯示不正確的名稱。是的,我不需要'LOWER'功能 – 2012-04-13 23:55:10
這真的很奇怪。它顯示了什麼,你期望什麼? – 2012-04-13 23:56:08
我更新了我的答案。如果它仍然不起作用,這意味着排序不能按預期工作。檢查該列是否有'DATETIME'類型。 – 2012-04-14 00:02:42