Saralash, LIMIT va DISTINCT
057 daq
Baza qatorlarni hech qanday kafolatlangan tartibsiz qaytaradi. Natijani tartiblash, birinchi bir nechtasini olish yoki takrorlarni olib tashlash uchun uchta buyruq bor.
ORDER BY — saralash
Odatda o‘sish tartibida (ASC) saralanadi. Kamayish tartibi uchun DESC:
Bir nechta ustun bo‘yicha: avval birinchisi, teng bo‘lsa — ikkinchisi.
LIMIT — faqat birinchi N ta qator
«Eng yuqori maoshli 3 ustoz»:
LIMIT doim ORDER BY bilan birga ishlatilsin — aks holda «qaysi 3 tasi» chiqishi tasodifga bog‘liq.
Keyingi «sahifa» uchun OFFSET bor: LIMIT 3 OFFSET 3 — 4-, 5-, 6-qatorlar.
DISTINCT — takrorsiz
Talabalar qaysi shaharlardan kelgan?
DISTINCT butun qatorga qo‘llanadi: SELECT DISTINCT city, course — shahar va kursning har xil juftliklari.
NULL qayerda turadi?
PostgreSQL saralashda NULL ni eng katta qiymat deb hisoblaydi: o‘sish tartibida u oxirida, DESC da boshida chiqadi. Buni o‘zgartirish mumkin: ORDER BY scholarship DESC NULLS LAST.
So‘rov qismlarining tartibi
Qismlar doim shu tartibda yoziladi:
SELECT … FROM … WHERE … ORDER BY … LIMIT …;Eng arzon 5 ta mahsulotning name va price ustunlarini narx o‘sish tartibida chiqaring. Narx teng bo‘lsa, nomi alifbo tartibida tursin.
Mahsulotlarda qaysi brendlar borligini takrorlamasdan chiqaring (brand).
Esda qoldiring
ORDER BY ustun [DESC]— saralash; bir nechta ustun vergul bilan.LIMIT n— birinchi n ta qator; doimORDER BYbilan.DISTINCT— takrorlarni olib tashlaydi.