استخدام CASE في ORDER BY
جزء من قسم ما وراء الأساسيات في رحلة SQL على Coddy — الدرس 2 من 27.
لا يقتصر استخدام CASE على SELECT فقط. يمكنك وضعها داخل ORDER BY لترتيب الصفوف وفقًا لقاعدة مخصصة لا يمكن للأعمدة وحدها التعبير عنها.
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. استخدم الصيغة التي تبدو أسهل في القراءة.
التحدي
سهلالجداول والأعمدة المتاحة:
<strong>tasks</strong>:<strong>id</strong>,<strong>title</strong>,<strong>priority</strong>
قم بإرجاع title و priority، مرتبة بحيث يأتي 'critical' أولاً، ثم 'high'، ثم 'low'، وأي شيء آخر في النهاية. ضمن نفس الأولوية، قم بالترتيب حسب title أبجدياً.
جرّب بنفسك
SELECT title, priority
FROM tasks
ORDER BY
-- ...
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس ما وراء الأساسيات
1المنطق الشرطي
CASE WHENاستخدام CASE في ORDER BYدالة COALESCE للتعامل مع قيم NULLدالتا NULLIF و IIFمراجعة - الحضور