、、およびStudentScore
のフィールドを持つという名前のテーブルが 1 つあります。後の 3 つが主キーです。Score
CourseID
StudentID
Semester
各生徒の平均点を取得するストアド プロシージャを作成したいと考えています。しかし、ルールは非常に複雑で、1 つのクエリで表現する方法がわかりません。可能であれば、ネストされたクエリは避ける必要があります。
ルールは次のとおりです。
1 人の学生が 2 回以上コースを受講した場合、最後のスコアのみを計算する必要があります。
たとえば、次のデータがあります。
StudentID | CourseID | Semester | Score
1 1 1 80
1 2 1 40
1 3 1 60
1 2 2 50
1 3 2 20
2 1 1 90
ストアド プロシージャは次を返す必要があります。
StudentID | AvgScore
1 50 // which is avg(80, 50, 20)
2 90
できるだけ効率的なストアド プロシージャを提案してください。ありがとう!