الدرس 2 من 10
ترتيب النتائج
- 10 دقائق
- 5 معايير للتصحيح
- 3 تلميحات
- إلى المطلوب
هدف الدرس
ORDER BY و LIMIT
الشرح
الجدول في القاعدة بلا ترتيب مضمون: ما يظهر أولًا اليوم قد يتأخّر غدًا. فإن أردت ترتيبًا فاطلبه: ORDER BY price DESC من الأكبر، وASC — وهو الافتراضي — من الأصغر.
LIMIT 3 يأخذ أول ثلاثة صفوف بعد الترتيب، فيجيب عن «أغلى ثلاثة». وبلا ORDER BY يجيب عن «أيّ ثلاثة».
وعمودان في ORDER BY يعنيان: رتّب بالأول، وعند التساوي احسم بالثاني. والاتجاه يخصّ عموده وحده: ORDER BY category, price DESC يرتّب الفئات تصاعديًّا، والأسعار داخل كل فئة تنازليًّا.
المطلوب
اعرض name وprice لأغلى ثلاثة منتجات، وإن تساوى سعران فقدّم الاسم الأسبق أبجديًّا.
معايير التصحيح
5 معايير- العمودان name و price
- ثلاثة صفوف فقط
- مرتّبة من الأغلى
- هي الأغلى فعلًا
- التعادل يحسمه الاسم
الجداول المتاحة في هذا الدرس
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);