私がこれまでに持っているクエリは
SELECT callSign,event,rubric,score
FROM scores LEFT JOIN candidates
ON scores.candidateID=candidates.id
WHERE candidateID IN
(SELECT id
FROM candidates
WHERE assessmentID='1321')
ORDER BY candidateID,event
これは、次のようなデータセットを返します。
callSign event score
V021 Amazing Race Planning 5
V021 Amazing Race Planning 3
V021 Amazing Race Planning 5
V021 Individual Analyst Exam 3
V021 PSA 5
V021 Team Analyst Exam 5
V021 Team Analyst Exam 5
V021 Team Analyst Exam 3
V021 Team Analyst Exam 5
V022 PSA 1
V022 Team Tech Exam 5
V022 Team Tech Exam 3
私が探しているのは、候補者ごとに各イベントのスコアを合計して、次のようにすることです。
callSign event score
V021 Amazing Race Planning 13
V021 Individual Analyst Exam 3
V021 PSA 5
V021 Team Analyst Exam 18
V022 PSA 1
V022 Team Tech Exam 8
とのある種の組み合わせが必要だと確信していますが、SUM()
それGROUP BY
を理解できないようです。そして、私ORDER BY
はすべてのカテゴリーで最も多くのポイントを持つ候補者に必要です
注:複数の候補があります