最大 seq_no レコードを持つ各質問を取得しようとしていますが、間違ったデータが返されています。
クエリは次のとおりです。
SELECT id, attempt, seq_number, question
FROM question_states
WHERE attempt = 374
AND seq_number IN ( SELECT MAX(seq_number) FROM question_states WHERE attempt = 374 GROUP BY question)
GROUP BY question, id
質問としてテーブル名が1つあります。構造は以下のとおりです。
id--seq_number--attempt--question
1 --0 --374 -- 130
2 --0 --374 -- 130
3 --1 --374 -- 130
4 --2 --374 -- 130
5 --1 --374 -- 131
このクエリが質問に対して 2 つのレコードを返すのはなぜ130
ですか? を削除すると、GROUP BY id
間違ったデータが返されます。