次のようなテーブル構造があります。
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つの異なる名前を与えますが、再現不可能な順序です. ここで何か不足していますか?ここで正しい構文は何でしょうか?