私は次のようなことをしたいです:
SELECT studentName, COUNT(lessonCode)
FROM Lessons
WHERE
COUNT(lessonCode) = 10
現在、レッスンテーブルにすべての生徒とそのレッスン数を取得し、studentInfoというテーブル変数に情報を保存しています。
DECLARE @studentInfo TABLE
(
studentName varchar,
numLessons int
)
INSERT INTO @studentInfo (studentName, numLessons)
SELECT studentName, COUNT(lessonCode)
FROM Lessons
次に、それを別のselectステートメントで使用しています。
select studentName
FROM @studentInfo
WHERE
numLessons = 10
これは問題なく機能しますが、唯一の問題は、データベースに約30,000人の学生がいることです。そのため、学生のリストとレッスン数を取得するクエリは非常に時間がかかり、通常は前に終了しません。クエリの実行をキャンセルします。通常は30分程度です。これをより効率的に行い、この投稿の上部で私が探していることを達成する他の方法はありますか?
ありがとう。