ORDER BY
Last updated
Last updated
Ushbu qo'llanmada PostgreSQL ORDER BY
bandidan foydalanib, SELECT
bayonotdan qaytarilgan natijalar to'plamini qanday saralashni o'rganasiz.
Jadvaldan ma'lumotlarni so'raganingizda, SELECT
bayonot aniqlanmagan tartibda qatorlarni qaytaradi. Natijalar to'plamining qatorlarini saralash uchun siz SELECT
bayonotdagi ORDER BY
banddan foydalanasiz .
Ushbu ORDER BY
band sizga SELECT
band tomonidan qaytarilgan qatorlarni tartiblash ifodasi asosida o'sish
yoki kamayish
tartibida tartiblash imkonini beradi .
Quyida ORDER BY
bandning sintaksisi tasvirlangan :
Ushbu sintaksisda:
Birinchidan, ORDER BY
kalit so'zlardan keyin saralashni xohlagan ustun yoki ifoda bo'lishi mumkin bo'lgan tartiblash ifodasini belgilang . Agar siz natijalar to'plamini bir nechta ustunlar yoki iboralar asosida saralashni istasangiz, ularni ajratish uchun ikkita ustun yoki iboralar orasiga vergul (,
) qo'yishingiz kerak .
Ikkinchidan, siz satrlarni ASC
o'sish tartibida va satrlarni DESC
kamayish tartibida saralash opsiyasidan foydalanasiz. Agar ASC yoki DESC
variantini o'tkazib yuborsangiz, sukut bo'yicha ORDER BY ASC
foydalanadi.
PostgreSQL SELECT
bayonotdagi FROM, SELECT va ORDER BY
bandlarni quyidagi tartibda baholaydi:
Baholash tartibidan kelib chiqib, SELECT
bandda ustun taxallus mavjud bo'lsa , uni ORDER BY
bandda ishlatishingiz mumkin.
Keling, PostgreSQL ORDER BY
bandidan foydalanishga misollar keltiraylik.
ORDER BY
misollariNamoyish uchun quyidagi namunaviy ma'lumotlar bazasida customer
jadvalidan foydalanamiz.
bitta ustun
bo'yicha saralash uchun PostgreSQL ORDER BY
bandidan foydalanishQuyidagi so'rov mijozlarni ismlari bo'yicha o'sish tartibida saralash uchun ORDER BY
banddan foydalanadi:
ASC
opsiyasi sukut bo'lgani uchun siz uni ORDER BY
bandida quyidagi kabi o'tkazib yuborishingiz mumkin:
kamayish
bo'yicha bitta ustun
bo'yicha tartiblash uchun PostgreSQL ORDER BY
bandidan foydalanishQuyidagi bayonot customer jadvaldan ism va familiyani tanlaydi va satrlarni familiya ustunidagi qiymatlar bo'yicha kamayish tartibida tartiblaydi:
Quyidagi bayonot mijozlar jadvalidan ism va familiyani tanlaydi va qatorlarni ism va familiya bo'yicha o'sish tartibida va kamayish tartibida tartiblaydi:
Bu misolda ORDER BY
bandi satrlarni first_name
ustunidagi qiymatlar bo'yicha tartiblaydi. Va keyin last_name
ustunidagi qiymatlar bo'yicha tartiblangan qatorlarni saralaydi.
Natijadan aniq ko'rinib turibdiki, bir xil Kellyf
ismli ikkita mijozning familiyasi kamayish tartibida tartiblangan.
ifodalar
bo'yicha saralash uchun PostgreSQL ORDER BY
bandidan foydalanishLENGTH()
funktsiyasi satrni qabul qiladi va ushbu satr uzunligini qaytaradi.
Quyidagi bayonotda birinchi ismlar va ularning uzunligi tanlanadi. U qatorlarni birinchi nomlarning uzunligi bo'yicha tartiblaydi:
ORDER BY
SELECT
banddan keyin baholanganligi sababli , ustun taxallus len
mavjud va u ORDER BY
bandda ishlatilishi mumkin.
ORDER BY
band va NULL
Ma'lumotlar bazasi dunyosida NULL
yetishmayotgan ma'lumotlarni ko'rsatadigan yoki yozib olish vaqtida ma'lumotlar noma'lum bo'lgan marker.
NULL
ni o'z ichiga olgan qatorlarni saralaganingizda, ORDER BY bandining NULLS FIRST
yoki NULLS LAST
opsiyasidan foydalanib, boshqa null
bo'lmagan qiymatlar bilan NULL
tartibini belgilashingiz mumkin:
NULLS FIRST
bandi boshqa NULL
null bo'lmagan qiymatlardan oldin va NULL LAST
parametr boshqa NULL
null bo'lmagan qiymatlardan keyin joylashadi.
Keling, namoyish uchun jadval tuzamiz .
E'tibor bering, siz
CREATE TABLE
vaINSERT
bayonotlarini tushunishingiz shart emas. Siz shunchaki uni bajarishingizpgAdmin
yokipsql
orqalisort_demo
jadval yaratishingiz va unga ma'lumotlarni kiritishingiz kerak.
Quyidagi so'rov sort_demo
jadvaldan ma'lumotlarni qaytaradi :
Ushbu misolda, ORDER BY band sort_demo
jadval num
ustunidagi qiymatlarni o'sish tartibida tartiblaydi. U boshqa NULL
qiymatlardan keyin joylashadi.
Shunday qilib, agar siz ASC
variantdan foydalansangiz,ORDER BY
band sukut bo'yicha NULLS LAST
variantdan foydalanadi. Shunday qilib, quyidagi so'rov bir xil natijani qaytaradi:
NULL
boshqa null
bo'lmagan qiymatlardan oldin joylashtirish uchun siz quyidagi NULLS FIRST
parametrdan foydalanasiz:
Quyidagi bayonot sort_demo
jadval num
ustunidagi qiymatlarni kamayish tartibida tartiblaydi:
Chiqarishdan aniq ko'rinib turibdiki, DESC
parametrli ORDER BY
band sukut bo'yicha NULLS FIRST
foydalanadi .
ORDER BY
bekor qilish uchun siz quyidagi NULLS LAST
variantdan foydalanishingiz mumkin:
Satrlarni saralash uchun SELECT
bayonotdagi ORDER BY
banddan foydalaning.
Satrlarni o'sish tartibida ASC
va satrlarni kamayish tartibida DESC
saralash opsiyasidan foydalaning. Ushbu band sukut bo'yicha ORDER BY ASC
variantdan foydalanadi .
Boshqa null bo'lmagan qiymatlar bilan NULL
tartibni aniq belgilash uchun NULLS FIRST
va NULLS LAST
parametrlaridan foydalaning.