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

استخدام CASE في ORDER BY

جزء من قسم ما وراء الأساسيات في رحلة SQL على Coddy. الدرس 2 من 27.

عبارة CASE ليست مخصصة فقط لـ SELECT. يمكنك وضعها داخل ORDER BY لفرز الـ rows وفقًا لقاعدة مخصصة لا يمكن للأعمدة بمفردها التعبير عنها.

SELECT name, status
FROM tickets
ORDER BY
    CASE status
        WHEN 'urgent' THEN 1
        WHEN 'high'   THEN 2
        WHEN 'normal' THEN 3
        ELSE 4
    END

لاحظ الصيغة الأقصر: CASE column WHEN value THEN .... وهي مكافئة لـ WHEN column = value. استخدم أيًا منهما يبدو أكثر وضوحًا.

challenge icon

التحدي

سهل

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

  • <strong>tasks</strong>: <strong>id</strong>, <strong>title</strong>, <strong>priority</strong>

قم بإعادة title و priority، مرتبة بحيث يأتي 'critical' أولاً، ثم 'high'، ثم 'low'، وأي شيء آخر أخيراً. بالنسبة للقيم التي لها نفس الـ priority، قم بالفرز حسب title أبجدياً (alphabetically).

جرّب بنفسك

SELECT title, priority
FROM tasks
ORDER BY
    -- استبدل ترتيب العنصر النائب أدناه بتعبير CASE الذي
    -- يرتب الصفوف بالطريقة التي تصفها المهمة، ثم يكسر التعادلات أبجديًا
    id
quiz iconاختبر نفسك

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

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

تدرّب بنفسك: Playground لـ SQL