ORDER BY
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 :
SELECT
select_list
FROM
table_name
ORDER BY
sort_expression1 [ASC | DESC],
...
sort_expressionN [ASC | DESC];
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 satrlarniDESC
kamayish tartibida saralash opsiyasidan foydalanasiz. AgarASC yoki DESC
variantini o'tkazib yuborsangiz, sukut bo'yichaORDER 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.
PostgreSQL ORDER BY
misollari
ORDER BY
misollariNamoyish uchun quyidagi namunaviy ma'lumotlar bazasida customer
jadvalidan foydalanamiz.

1. Satrlarni bitta ustun
bo'yicha saralash uchun PostgreSQL ORDER BY
bandidan foydalanish
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:
SELECT
first_name,
last_name
FROM
customer
ORDER BY
first_name ASC;

ASC
opsiyasi sukut bo'lgani uchun siz uni ORDER BY
bandida quyidagi kabi o'tkazib yuborishingiz mumkin:
SELECT
first_name,
last_name
FROM
customer
ORDER BY
first_name;
2. Satrlarni kamayish
bo'yicha bitta ustun
bo'yicha tartiblash uchun PostgreSQL ORDER BY
bandidan foydalanish
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:
SELECT
first_name,
last_name
FROM
customer
ORDER BY
last_name DESC;

3. Satrlarni bir nechta ustunlar bo'yicha saralash uchun PostgreSQL ORDER BY bandidan foydalanish
Quyidagi bayonot mijozlar jadvalidan ism va familiyani tanlaydi va qatorlarni ism va familiya bo'yicha o'sish tartibida va kamayish tartibida tartiblaydi:
SELECT
first_name,
last_name
FROM
customer
ORDER BY
first_name ASC,
last_name DESC;

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.
4. Satrlarni ifodalar
bo'yicha saralash uchun PostgreSQL ORDER BY
bandidan foydalanish
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:
SELECT
first_name,
LENGTH(first_name) len
FROM
customer
ORDER BY
len DESC;

ORDER BY
SELECT
banddan keyin baholanganligi sababli , ustun taxallus len
mavjud va u ORDER BY
bandda ishlatilishi mumkin.
PostgreSQL ORDER BY
band va NULL
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:
ORDER BY sort_expresssion [ASC | DESC] [NULLS FIRST | NULLS LAST]
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 .
-- create a new table
CREATE TABLE sort_demo(
num INT
);
-- insert some data
INSERT INTO sort_demo(num)
VALUES(1),(2),(3),(null);
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 :
SELECT num
FROM sort_demo
ORDER BY num;

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:
SELECT num
FROM sort_demo
ORDER BY num NULLS LAST;
NULL
boshqa null
bo'lmagan qiymatlardan oldin joylashtirish uchun siz quyidagi NULLS FIRST
parametrdan foydalanasiz:
SELECT num
FROM sort_demo
ORDER BY num NULLS FIRST;

Quyidagi bayonot sort_demo
jadval num
ustunidagi qiymatlarni kamayish tartibida tartiblaydi:
SELECT num
FROM sort_demo
ORDER BY num DESC;
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:
SELECT num
FROM sort_demo
ORDER BY num DESC NULLS LAST;

Xulosa
Satrlarni saralash uchun
SELECT
bayonotdagiORDER BY
banddan foydalaning.Satrlarni o'sish tartibida
ASC
va satrlarni kamayish tartibidaDESC
saralash opsiyasidan foydalaning. Ushbu band sukut bo'yichaORDER BY ASC
variantdan foydalanadi .Boshqa null bo'lmagan qiymatlar bilan
NULL
tartibni aniq belgilash uchunNULLS FIRST
vaNULLS LAST
parametrlaridan foydalaning.
Last updated
Was this helpful?