0
を発生する場所IDが、唯一の最も最近のすべての行を選択:重複が私は、データベース内の統計と呼ばれるテーブル持って
| Game_ID | User_ID | Rank | Creation_date |
---------------------------------------------
| 1 | 1 | 1 | 2017-04-03 |
| 1 | 2 | 2 | 2017-04-03 |
| 1 | 3 | 3 | 2017-04-03 |
| 1 | 1 | 4 | 2017-05-03 |
を私は現在、特定のGame_IDのためのすべての行をフェッチするために、次のクエリを使用します:
"SELECT * FROM Stats WHERE Game_ID = 2 ORDER BY Rank ASC"
これは、しかし私は、このように、USER_ID(最新CREATION_DATE付き1)ごとに1行のみを戻すしたいと思い、上に示している正確に何を返す:
| Game_ID | User_ID | Rank | Creation_date |
---------------------------------------------
| 1 | 2 | 2 | 2017-04-03 |
| 1 | 3 | 3 | 2017-04-03 |
| 1 | 1 | 4 | 2017-05-03 |
を
ご協力いただければ幸いです!
EDIT
は、私は上記の解決策を試みたが、私はそれが正しいものである確信しています。私はUser_IDの重複をもう取得しません。しかし、私は最新のCreation_dateを取得していません。私は何が欠けていますか?
更新クエリ:
SELECT a.Game_ID, a.User_ID, a.rank, a.Creation_date
FROM stats a
INNER JOIN (
SELECT User_ID, MAX(Creation_date), Creation_date
FROM stats
WHERE Game_ID = 2
GROUP BY User_ID
) b ON a.User_ID = b.User_ID AND a.Creation_date = b.Creation_date ORDER BY rank ASC;
戻り値:つまり
| Game_ID | User_ID | Rank | Creation_date |
---------------------------------------------
| 1 | 1 | 1 | 2017-04-03 |
| 1 | 2 | 2 | 2017-04-03 |
| 1 | 3 | 3 | 2017-04-03 |
、USER_ID 1.最新のCREATION_DATE
まだ4つのrオーバース、オーダーの代わりにCreation_dateでオーダー。 – Stim
@Stim、編集したものを試してみてください。 –