الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

كيف يتم معرفة أعلى 5 درجات لكل طالب

مغلق
بدأه عبد الله الثبيتي في 29 يونيو 2007 · 6 رد · 1,254 مشاهدة · في قواعد بيانات MySQL
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته :

السؤال : لدي جدول اسمه t1 وبه الحقول التالية :

f1 ويعني رقم الطالب

f2 ويعني الدرجة

الجدول به اكثر من طالب ولكل طالب اكثر من 20 سجل

المطلوب اظهار أعلى 5 درجات لكل طالب

ماهي تركيبة صيغة sql التي تمكنني من ذلك لإظهار المطلوب في استعلام واحد

دمتم بخير

#2

السلام،

على ما اعتقد يوجد أمر اسمه TOP x تستخدم بعد عبارة SELECT في نص الـــ Sql. حيث x رقم، وتكون على النحو التالي Select top 5 f1,f2. فقط قم بترتيب الدرجات من أعلى إلى أقل، فلو افترضنا انا الناتج من Sql تسعه سجلات فبمجرد استخدام TOP 5 سيعيد لك أول خمس نتائج.

ولكن هذا استعلام لطالب واحد، يمكن استخدام Nasted Sql لوضع Sql داخل Sql للحصول على استعلام واحد لكل الطلاب.

فراس

تم تعديل هذه المشاركة بواسطة Feras Nasser في 29 يونيو 2007 في 14:23

سبحان الله وبحمده عدد خلقه ورضا نفسه وزنة عرشه ومداد كلماته

#3

ارجو كتابة الصيغة كاملة للحصول على المطلوب .

دمتم بخير

#4

للحصول على نتيجة طالب واحد لاخر أعلى حمس دراجات

SELECT TOP 5 t1.f1, t1.f2
FROM t1
WHERE t1.f1=[x]
ORDER BY t1.f2 DESC;

و [x] هو رقم الطالب

اما بالنسبة لجميع الطلاب، يعتمد هل تريد اسماء الطلاب يتكرر خمس مرات بالتوالي في نفس الاستعلام؟

سبحان الله وبحمده عدد خلقه ورضا نفسه وزنة عرشه ومداد كلماته

#5

ولاستخدام Nasted SQL

قم باستبدال الــ WHERE بما يلي:

WHERE t1.f1 IN  (SELECT DISTINCT t1.f1 FROM t1)

ملاحظة: t1 بيس بالشرط ان يكون نفس الجدول، ما يهم هو وضع جدول في قائمة جميع ارقام الطلاب، فا اذا كان t1 هو الجدول خلاص لا يحتاج لأي تغير، اما اذا كان جدول اخر فقط قم باستبدال t1 و f1 (تنبية: f1 الاولى تابعة للاستعلام الاساسي اما f1 الثانية فهي لل SQL الدخلي ويجب ان يتعادول للرجوع بقيمة)

سبحان الله وبحمده عدد خلقه ورضا نفسه وزنة عرشه ومداد كلماته

#6

اشكرك اخي العزيز ولك كل التقدير

لم يتحقق المطلوب....

ارجو البحث عن الحل

دمتم بخير

#7

اظنك تعمل اخي الكريم علي قاعدة بيانات برنامج المعارف :-(

هذا الموضوع مغلق.

مواضيع مشابهة