私は、標準 SQL を使用して演習クエリに取り組んでいます。この例で必要なのは、いずれかのコースに 2 回以上登録したすべての学生の名前と ID を取得することです。この場合、テーブルには次の情報が含まれています (この演習で重要な列のみをリストします)。
Student は ID と学生の名前を持っています。Course にはコース ID があります。クラスには、グループ ID とコース ID があります。登録にはregがあります。ID、学生ID、クラスID、取得成績。
したがって、クラスを介して、同じコースに一致する登録に2つ以上のエントリがある学生を見つけることがすべて要約されます。これまでのところ、私はこれを得ました:
SELECT Student.id, Student.name FROM
Student S JOIN Registration R on S.id = R.studentID
WHERE (SELECT COUNT(*) FROM
Course C JOIN Class L on L.courseId = C.id
JOIN Registration R on R.classId = L.id
group by C.id ) > 2
問題は、カウントとグループ化はこのように機能するか?? 彼らは私が各グループの試合数を取得することを許可してくれますか? それとも、私が恐れているように、セットでの結果だけを教えてくれますか?
もしそうなら、この問題にどのようにアプローチできるかについてのアイデアはありますか?? 助けてくれてありがとう!!