Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

PARTITION و ORDER

جزء من قسم الأساسيات في رحلة SQL على Coddy — الدرس 60 من 72.

يمكننا أيضاً دمج PARTITION BY مع ORDER BY. على سبيل المثال، لننظر إلى table1 التالي:

idtype
132t1
52t2
92t1
154t3
198t1
SELECT id, type, ROW_NUMBER() OVER (PARTITION BY type ORDER BY id) as row_num
FROM table1

سيقوم هذا بترقيم الصفوف بترتيب تصاعدي حسب المعرف (id) لكل نوع:

idtyperow_num
132t12
52t21
92t11
154t31
198t13

الآن يمتلك المعرف 132 القيمة row_num 2 لأنه أكبر من 92 وأصغر من 198 (من بين جميع صفوف النوع t1).

challenge icon

التحدي

سهل

الجداول والأعمدة المتاحة:

  • <strong>doors</strong>: <strong>id</strong>, <strong>publication_year</strong>
  • <strong>doors_specs</strong>: <strong>id</strong>, <strong>country</strong>, <strong>color</strong>

اكتب استعلام SQL لتحليل تسلسل ألوان الأبواب داخل كل بلد، مرتبة حسب سنة النشر. لكل مساحة باب، اعرض:

  • البلد
  • اللون
  • سنة النشر
  • رقم يمثل ترتيب الألوان داخل كل بلد بناءً على سنة النشر. قم بتسمية هذا العمود color_sequence_number

ورقة مرجعية

يمكنك دمج PARTITION BY مع ORDER BY لترقيم الصفوف داخل كل قسم بترتيب معين:

SELECT id, type, ROW_NUMBER() OVER (PARTITION BY type ORDER BY id) as row_num
FROM table1

يقوم هذا بترقيم الصفوف بترتيب تصاعدي حسب id داخل كل مجموعة type. يبدأ كل قسم الترقيم من 1 مجددًا.

جرّب بنفسك

quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس الأساسيات