私は 1 つの問題を解決し、別の問題に遭遇しました。基本的に、質問ID、回答、最大出現数を選択したいです。質問と回答を収集する基本テーブルからクエリを実行します (質問 ID は質問を表し、回答は他のテーブルに対応する 0 から 5 までの回答を表しますが、それは問題ではありません)。
**survey_result**
question_id
answer (int from 0 to 5)
サンプルの調査結果:
question_id answer
1 3
1 5
1 2
2 2
2 0
2 4
これがクエリです。その目的は、すべての質問について、どの回答 (0 から 5 まで) が最も多く発生したかを確認することです。
select question_id, answer, max(occurence_number) FROM
(select question_id, answer, count(*) as occurence_number
from survey_result
group by question_id, answer
order by question_id asc, occurence_number desc) as results
GROUP BY question_id
したがって、サブクエリの結果は次のようになります。
question_id answer occurence_number
1 0 12
1 1 20
1 2 34
1 3 5
1 4 9
1 5 15
しかし、主なクエリの結果は次のようになります。
question_id answer occurence_number
1 0 12
2 0 20
3 0 34
4 0 5
だから問題は、それが常に答え0を示しているということであり、私は正解数を取得したい.