اذهب الي المحتوي
أوفيسنا

الردود الموصى بها

قام بنشر

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

تجدون في الملف المرفق جدول بسيط  جدا يحمل اسم Table يحتوي على ثلاثة حقول هي حقل الرقم ID وحقل الاسم Name وحقل الدرجة Mark لمجموعة من الطلاب

ارغب بعمل استعلام (كويري) يقوم بترتيب الطلاب رقميا (فقط) وذلك حسب الدرجة أي يكتب أمام أعلى درجة رقم (1) والثاني (2) والثالث (3) وهكذا فقط مع ضرورة عدم تجاوز أي رقم في حال وجود مكرر فمثلا تجد أن الدرجة (86) مكررة مرتين وبذلك يكون هناك طالبين يحملون المرتبة (3) اريد بعد ذلك أن ينتقل الى (4) ولا يتم القفز إلى (5) وهكذا

بحثت كثيرا في النت ووجدت عدة حلول ولكنها ليست بالمستوى المطلوب حيث أن اغلب تلك الحلول تتم بعمل تقرير وأنا أرغب بأن يكون في جدول استعلام وهناك حلول اخرى ولكنها تقفز المرتبة في حال وجود رقم مكرر.

ارجوا مساعدتي في ذلك ولكم فائق الاحترام

 

Students.accdb

  • تمت الإجابة
قام بنشر
1 ساعه مضت, Salem2020 said:

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

تجدون في الملف المرفق جدول بسيط  جدا يحمل اسم Table يحتوي على ثلاثة حقول هي حقل الرقم ID وحقل الاسم Name وحقل الدرجة Mark لمجموعة من الطلاب

ارغب بعمل استعلام (كويري) يقوم بترتيب الطلاب رقميا (فقط) وذلك حسب الدرجة أي يكتب أمام أعلى درجة رقم (1) والثاني (2) والثالث (3) وهكذا فقط مع ضرورة عدم تجاوز أي رقم في حال وجود مكرر فمثلا تجد أن الدرجة (86) مكررة مرتين وبذلك يكون هناك طالبين يحملون المرتبة (3) اريد بعد ذلك أن ينتقل الى (4) ولا يتم القفز إلى (5) وهكذا

بحثت كثيرا في النت ووجدت عدة حلول ولكنها ليست بالمستوى المطلوب حيث أن اغلب تلك الحلول تتم بعمل تقرير وأنا أرغب بأن يكون في جدول استعلام وهناك حلول اخرى ولكنها تقفز المرتبة في حال وجود رقم مكرر.

ارجوا مساعدتي في ذلك ولكم فائق الاحترام

 

 

تفضل <><><><><><<>

 

Students (3).accdb

  • Thanks 1
قام بنشر

السلام عليكم 

اشكرك شكرا كثيرا أخي Barna وأبشرك أنني بعد عناء البحث وجدت أخيرا الكويري المطلوب وللفائدة اضعه هنا وكل ما عليك فعله بعد إنشاء الكويري أن تقوم بعرضه في وضع SQL ثم لصق الكود التالي مع تغيير اسم الجدول وحقول الاستعلام بحسب ما هو لديك

اسم الجدول هو Table

حقل الاسم Name

حقل الدرجة Mark

الحقل الاضافي الخاص بالترتيب Rank

SELECT
   T2.Name,
   1 +
   (
      SELECT
         COUNT(*)
      FROM
         (
            SELECT DISTINCT
               Mark
            FROM [TABLE]
               ) AS T1
      WHERE
         T1.Mark > T2.Mark) AS Rank
FROM
   [Table] AS T2
ORDER BY
   T2.Mark DESC

 

انشئ حساب جديد او قم بتسجيل دخولك لتتمكن من اضافه تعليق جديد

يجب ان تكون عضوا لدينا لتتمكن من التعليق

انشئ حساب جديد

سجل حسابك الجديد لدينا في الموقع بمنتهي السهوله .

سجل حساب جديد

تسجيل دخول

هل تمتلك حساب بالفعل ؟ سجل دخولك من هنا.

سجل دخولك الان
  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information