السلام عليكم ورحمة الله
رمضان كريم وقد شارفنا نهاياته نسال الله ان يجعلنا ممن قُسم لهم فيه باكبر واوفر الحظ والنصيب
سؤالي هذا قديم متجدد وكسلت عن بحث الموضوع للتسلسل فيه فنرجو المعذرة من سوء الاستخدام ربما
SELECT distinct ID,St_level,Class_label,Stud_name,Level_name,ClassLabel_name,Digree_summation,Term_name FROM
(SELECT * , ROW_NUMBER() OVER (PARTITION BY st_level,Class_label ORDER BY st_level, Digree_summation desc) AS rank
FROM Result_set) T
WHERE rank <= 4 -- @RecordCount
and term_time = 1 -- @term_time
and exam_time = @exam_time
and exam_type = 1
and Year_name_ID = @Year_name_ID
-- and Subject = 0
and St_level <= 1
ORDER BY St_level,Class_label,Digree_summation descتلميحات :
ID = رقم الطالب
St_level = المستوى
Class_label = اسم الفصل
Digree_summation = مجموع الطالب
Year_name_ID = معرف العام الدراسي
الآن لدي في المستوى الواحد 4 فصول وبرغم ان الامر يعمل جيداً في استجلاب المعلومة المطلوبة الا انه يرجع افضل 3 مجاميع لثلاث فصول فقط فما التعديل المناسب
صراحة لست خبيراً في استخدام دالة الـRow_Number علماً بأنني استخدمت عدة محاولات على غير هدى ولكن من خلال هذ السؤال اريد اتقان استخدام هذه الدالة كاتقاننا للاوامر التقليدية للسيكوال دون ان ننتظر ناتج الاستعلام في بعض الاحيان وهذا ما اريده بالضبط
ودمتم اعزائي