شبكة تعلم مع ناو

ماذا يعني ORDER BY 2 في MySQL؟

يمكن أن يشير العدد الصحيح في ORDER BY إلى موضع عمود ضمن قائمة SELECT. لذلك تعني ORDER BY 2 الترتيب باستخدام العمود الثاني المعروض، وليس العمود الثاني في تعريف الجدول بالضرورة. يبدأ عد مواضع الأعمدة من واحد. وإذا تغير ترتيب قائمة SELECT، فقد يتغير معنى الترتيب نفسه دون تعديل عبارة ORDER BY.

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

مثال

CREATE TABLE books_position_demo (id INT, pages INT);
INSERT INTO books_position_demo VALUES (1, 300), (2, 100), (3, 200);
SELECT pages, id FROM books_position_demo ORDER BY 2;

يستخدم المثال id للترتيب لأنه العمود الثاني في قائمة SELECT.

باختصار: ORDER BY 2 يشير إلى ثاني عمود معروض، لذا راجع قائمة SELECT قبل تفسيره.

هل تريد تعلّم SQL خطوة بخطوة مع تمارين عملية؟ تابع مسار SQL من الأساسيات للاحتراف.

اختبر نفسك

خمسة أسئلة سريعة، مع الإجابة والشرح بعد كل سؤال.