Kodokon kodokon.com

الترتيب وإزالة التكرار: ORDER BY وLIMIT وDISTINCT

أتقِن ترتيب النتائج باستخدام ORDER BY، وتحديد عدد الصفوف باستخدام LIMIT، وإزالة التكرارات باستخدام DISTINCT.

6 دقيقة · 3 أسئلة

افتح هذا الدرس في Kodokon

افتراضيًا، فإن ترتيب الصفوف التي يُرجِعها SELECT غير مضمون: إذ تُرجِعها قاعدة البيانات بالطريقة التي تراها ملائمة. ولفرض ترتيب، أضف ORDER BY متبوعًا بعمود. يكون الترتيب تصاعديًا افتراضيًا (يمكنك التصريح به بوضوح باستخدام ASC)؛ أضف DESC للترتيب التنازلي.

SQL
SELECT title, price FROM books ORDER BY price;

SELECT title, price FROM books ORDER BY price DESC;
من الأرخص إلى الأغلى، ثم العكس

يمكنك الترتيب حسب عدة أعمدة: يرتّب ORDER BY genre, price DESC أولًا حسب النوع، ثم ضمن النوع نفسه، من الأغلى إلى الأرخص. تُبقي عبارة LIMIT على أول N صفًا فقط من النتيجة: وعند دمجها مع ORDER BY، تمنحك "أفضل N". أما LIMIT 3 OFFSET 2 فتتخطى إضافةً إلى ذلك أول صفين.

SQL
SELECT title, price FROM books
ORDER BY price DESC
LIMIT 3;
أغلى 3 كتب

أداة أخيرة: يزيل DISTINCT، الموضوع مباشرة بعد SELECT، التكرارات من النتيجة. يحتوي جدولنا على 7 كتب لكن على 3 أنواع مختلفة فقط: فبدون DISTINCT، سيعرض الاستعلام أدناه 7 صفوف مع تكرارات.

SQL
SELECT DISTINCT genre FROM books;

SELECT DISTINCT author FROM books;
3 أنواع فريدة، ثم 6 مؤلفين فريدين

اختبار المعرفة

تأكّد من أنك تذكّرت النقاط الأساسية في هذا الدرس.

  1. كيف ترتّب الكتب من الأغلى إلى الأرخص؟
    • ORDER BY price
    • ORDER BY price DESC
    • SORT BY price DESC
  2. ماذا يُرجِع SELECT DISTINCT genre FROM books; على جدولنا؟
    • الأنواع السبعة، نوع لكل كتاب
    • كل نوع مرة واحدة فقط، أي 3 صفوف
    • النوع الأكثر تكرارًا
  3. ماذا يُرجِع LIMIT 5 عند استخدامه دون ORDER BY؟
    • الصفوف الخمسة الأحدث
    • 5 صفوف بترتيب غير مضمون
    • خطأ في الصياغة