ORDER BY, ASC, DESC, TOP, OFFSET–FETCH, LIMIT
9-sinfBusiness Intelligence5-hafta · 14-darsNatijani tartiblash
Birlamchi va ikkilamchi saralash
Cheklash va sahifalash
WHERE Soni < 5 OR Narx < 100000 nechta qator qaytaradi (Soni: 25, 12, 4, 3, 18, 6; Narx: 80k, 150k, 1.9M, 7.5M, 120k, 3.2M)?
Natijani tartiblash
SELECT Nomi, Narx
FROM Mahsulotlar
ORDER BY Narx ASC;
SELECT Nomi, Narx
FROM Mahsulotlar
ORDER BY Narx DESC;
ASC yozilmasa ham o'sish tartibi bo'ladi. DESC da avval Noutbuk (7 500 000), oxirida Sichqoncha (80 000).ORDER BY Narx DESC da birinchi qaysi mahsulot chiqadi?
DESC — kamayish tartibi: eng qimmat birinchi.Birlamchi va ikkilamchi saralash
SELECT Kategoriya, Nomi, Narx
FROM Mahsulotlar
ORDER BY Kategoriya ASC, Narx DESC;
SELECT Nomi, Narx * Soni AS Qiymat
FROM Mahsulotlar
WHERE Kategoriya <> N'Ekran'
ORDER BY Qiymat DESC;
ORDER BY Kategoriya, Narx DESC da Narx DESC qachon ishlaydi?
Cheklash va sahifalash
SELECT TOP 3 Nomi, Narx
FROM Mahsulotlar
ORDER BY Narx DESC;
SELECT Nomi, Narx
FROM Mahsulotlar
ORDER BY Narx DESC
OFFSET 2 ROWS
FETCH NEXT 2 ROWS ONLY;
-- PostgreSQL / MySQL / SQLite:
-- ... ORDER BY Narx DESC LIMIT 2 OFFSET 2;
Sahifa hajmi 5 bo'lsa, 3-sahifa uchun OFFSET nechta qatorni o'tkazadi?
TOP 3 birinchi 3 qatorni oladiOFFSET–FETCH faqat ORDER BY bilan ishlaydi.
O'sish tartibi: 1, 2, 3; A-Z (standart)
Kamayish tartibi: 3, 2, 1; Z-A
Natija boshidan o'tkazib yuboriladigan qatorlar soni
Qaytariladigan qatorlar soni
ORDER BY Narx DESC — eng qimmat birinchi.
TOP 3 yoki OFFSET ... FETCH qo'shing.
Natijada Noutbuk, Planshet, Monitor bo'lishi kerak.
| DBMS | Birinchi N qator | Sahifalash |
|---|---|---|
| SQL Server | TOP N | OFFSET n ROWS FETCH NEXT m ROWS ONLY |
| PostgreSQL | LIMIT N | LIMIT m OFFSET n |
| MySQL | LIMIT N | LIMIT m OFFSET n |
| SQLite | LIMIT N | LIMIT m OFFSET n |
Pastga bosing: so'rov tartibi
SELECT — ustunlar (TOP shu yerda).FROM va WHERE — jadval va filtr.ORDER BY, keyin OFFSET ... FETCH — eng oxirida.
SELECT Nomi, Narx
FROM Mahsulotlar;
SELECT TOP 3 Nomi, Narx
FROM Mahsulotlar
ORDER BY Narx DESC;
Tartibsiz TOP qaysi qatorlar kelishini kafolatlamaydi.
Narx * Soni) bo'yicha eng yuqori 2 tasini taxallus bilan chiqaring.ASC (standart) va DESC bilan tartiblash.
Birinchi teng bo'lsa, keyingisi ishlaydi.
TOP, OFFSET ... FETCH, LIMIT ... OFFSET.
Uyga vazifa: saralash va sahifalash bo'yicha 8 ta so'rov.
NULL bilan ishlash, IS NULL, COALESCE, turlar