اهاااا ، بعد متابعة النتيجة ، وجدت أنه يأتيك بجميع الطلاب للفصل الأول والصف الثامن وعددهم 16 على سبيل المثال .. وأنت تريد فقط 10
جرب هذا الإستعلام التالي :-
SELECT TOP 10 S.StudentID, S.StudentName, S.ClassName, S.SETNO1, F.SemesterID, F.TotalSum, F.average, F.Grade, (
SELECT COUNT(*)
FROM TBL_Final1 AS F2
INNER JOIN TBL_Students AS S2
ON F2.StudentID = S2.StudentID
WHERE
F2.SemesterID = F.SemesterID
AND S2.ClassName = S.ClassName
AND F2.average > F.average
) + 1 AS RankOrder
FROM TBL_Students AS S INNER JOIN TBL_Final1 AS F ON S.StudentID = F.StudentID
WHERE F.SemesterID = [أدخل رقم الفصل]
AND S.ClassName = [أدخل اسم الصف]
ORDER BY F.average DESC, S.StudentID ASC;