في المستقبل، قد نحتاج إلى فرز اختيارنا - أبجديًا للنص أو تصاعديًا/تنازليًا - للقيم الرقمية. لمثل هذه الأغراض، لدى SQL عامل تشغيل خاص ORDER BY.
يمكن لعامل SQL ORDER BY الفرز من الأصغر إلى الأكبر، أي بترتيب تصاعدي، وبترتيب عكسي - من الأكبر إلى الأصغر.
لنقم بفرز الجدول بأكمله حسب حجم مبيعات المنتج، وبالتحديد حسب عمود المبلغ.
Run SQLSELECT *
FROM Sumproduct
ORDER BY Amount
نرى أن الاستعلام قام بفرز السجلات بترتيب تصاعدي في حقل المبلغ. من الضروري مراقبة تسلسل ترتيب العوامل، أي أن العامل ORDER BY يجب أن يذهب في نهاية الطلب. وإلا، سيتم تلقي رسالة خطأ.
ومن ميزات عامل التشغيل ORDER BY أنه يمكنه فرز البيانات حسب الحقل الذي لم نحدده في الاستعلام، أي أنه يكفي وجوده في قاعدة البيانات على الإطلاق.
الآن دعونا نفرز مثالنا بالإضافة إلى حقل آخر. فليكن الحقل City الذي يعرض مكان بيع المنتجات.
Run SQLSELECT *
FROM Sumproduct
ORDER BY Amount, City
يعتمد ترتيب الفرز على ترتيب الحقول في الاستعلام. أي أنه في حالتنا، سيتم فرز البيانات أولاً حسب عمود المبلغ، ثم حسب City.
على الرغم من أن عامل التشغيل ORDER BY يقوم بالفرز بشكل افتراضي بترتيب تصاعدي، إلا أنه يمكننا أيضًا كتابة القيم بترتيب تنازلي. للقيام بذلك، نضع عامل التشغيل DESC (وهو اختصار لكلمة DESCENDING) في نهاية كل حقل.
Run SQLSELECT *
FROM Sumproduct
ORDER BY Amount DESC, City
في هذا المثال، تم فرز القيم الموجودة في حقل "المبلغ" بترتيب تنازلي، وفي الحقل City - بترتيب تصاعدي. ينطبق عامل التشغيل DESC على عمود واحد فقط، لذلك إذا لزم الأمر، يجب كتابته بعد كل حقل يشارك في الفرز.