الدرس 2 من 10

ترتيب النتائج

هدف الدرس

ORDER BY و LIMIT

01

الشرح

الجدول في القاعدة بلا ترتيب مضمون: ما يظهر أولًا اليوم قد يتأخّر غدًا. فإن أردت ترتيبًا فاطلبه: ORDER BY price DESC من الأكبر، وASC — وهو الافتراضي — من الأصغر.

LIMIT 3 يأخذ أول ثلاثة صفوف بعد الترتيب، فيجيب عن «أغلى ثلاثة». وبلا ORDER BY يجيب عن «أيّ ثلاثة».

وعمودان في ORDER BY يعنيان: رتّب بالأول، وعند التساوي احسم بالثاني. والاتجاه يخصّ عموده وحده: ORDER BY category, price DESC يرتّب الفئات تصاعديًّا، والأسعار داخل كل فئة تنازليًّا.

02

المطلوب

اعرض name وprice لأغلى ثلاثة منتجات، وإن تساوى سعران فقدّم الاسم الأسبق أبجديًّا.

معايير التصحيح

5 معايير
  1. العمودان name و price
  2. ثلاثة صفوف فقط
  3. مرتّبة من الأغلى
  4. هي الأغلى فعلًا
  5. التعادل يحسمه الاسم
الجداول المتاحة في هذا الدرس
CREATE TABLE products (
  id       INTEGER PRIMARY KEY,
  name     TEXT    NOT NULL,
  category TEXT    NOT NULL,
  price    INTEGER NOT NULL,
  stock    INTEGER NOT NULL
);

INSERT INTO products (name, category, price, stock) VALUES
  ('شاشة 27 بوصة',  'تقنية',   899,   4),
  ('سماعة لاسلكية', 'تقنية',   249,  12),
  ('لوحة مفاتيح',   'تقنية',   189,   0),
  ('شاحن سريع',     'تقنية',    79,  40),
  ('كرسي مكتب',     'منزل',    649,   3),
  ('رف كتب',        'منزل',    249,   7),
  ('مصباح مكتب',    'منزل',    100,  18),
  ('حقيبة ظهر',     'قرطاسية', 180,  22),
  ('دفتر ملاحظات',  'قرطاسية',  15, 200),
  ('أقلام ملونة',   'قرطاسية',  25,   0),
  ('قاموس عربي',    'كتب',      95,  10),
  ('رواية',         'كتب',      45,  30);
query.sql
المخرجاتSQLite · sql.js

جارٍ تحميل SQLite…

–/5

يبدأ الفحص حين تجهز البيئة.

5 معايير في بطاقة «المطلوب».