1

ゲームのグループの最高スコアに関する情報を返すために、MySQL クエリを実行しようとしています。このテーブルは、scoreid、score、gameid、playerid、date という列でセットアップされています。次の SQL コマンドを実行すると、適切なハイ スコアが得られますが、最初に送信されたプレーヤー ID と日付が返されます。ここで何が間違っていますか?

SELECT date, MAX(score) as score, scoreid, playerid FROM scores GROUP BY gameid
4

2 に答える 2

3

MAX(score) は、最大スコアを持つ行を取得しません。単純に最大スコアを返しますが、他のすべてのフィールドは単純に別の行に属することができます。

あなたはより良い試してみることができます:

SELECT date, score, scoreid, playerid FROM scores GROUP BY gameid HAVING score = MAX(score)
于 2013-05-13T21:56:04.537 に答える