以下を含むビューを作成しました。
student_full_name subject_code result
Jennifer Higgins CS1234 81
Jennifer Higgins CS1235 90
Kal Penn CS1234 70
Kal Penn CS1235 60
Han Solo CS1234 45
Han Solo CS1235 70
私は取得しようとしています:
Jennifer Higgins が CS1234 と CS1235 に登録したとします。彼女の平均点は 85.50 です。
次に、Jennifer Higgins の点数をすべての登録者の平均点と比較して、すべての科目の AVG(結果) を合計します。
クエリは、平均点を上回っているすべての学生を一覧表示します。
すべての結果の AVG を取得するには、ここでサブクエリを使用する必要があることを知っています。これは一種の疑似コードです。サブクエリ自体をクエリの結果と比較する方法がわからないため、かなり行き詰まっています。1 つは Student_full_name によるグループ化用で、もう 1 つはすべての平均結果を取得するための 2 つの group by ステートメントが必要です。
SELECT student_full_name,
AVG(results) AS average_result
FROM viewEnrol
WHERE average_result > ( SELECT (AVG(results))
FROM viewEnrol
GROUP BY student_full_name
//編集
OUTPUT は次のようになります。カル・ペンとハン・ソロは、平均点を上回っていないためリストに含まれていません。全教科の平均点は 69.33 点です。ハン・ソロは57.5点、カル・ペンは65点。
student_full_name subject_code result
Jennifer Higgins CS1234 85.5
何か助けはありますか?