49-Mavzu: So‘rovlarida guruhlash uchun GROUP BY dan foydalanish
Reja:
1. GROUP BY va SELECT
2. GROUP BY dan boshqa SQL buyruqlari bilan foydalanish
3. Guruhlash ma'lumotlarini tanlash
SQLite ma'lumotlar bazasidan ma'lumotlarni olishda ma'lumotlarni qanday guruhlash mumkin: GROUP BY va SELECT
SQLite ma'lumotlar bazasidan ma'lumotlarni olishda ma'lumotlarni qanday guruhlash mumkin: GROUP BY va SELECT
SQLite3 jadvallaridan ma'lumotlarni tanlashda ma'lumotlarni guruhlash misollari: GROUP BY va SELECT misollari
GROUP BY dan boshqa SQL buyruqlari bilan foydalanish
WHERE va SELECT saralash bandining kombinatsiyasi shart bilan ma'lumotlarni tanlash imkonini beradi , bu SQL SELECT so'rovini amalga oshirganimizda ma'lumotlar bazasidan ma'lum qatorlarni tanlash imkonini beradi . Ammo jadvallardagi qatorlar takrorlanadigan holatlar mavjud, masalan, bizda ish haqi ma'lumotlarini saqlaydigan xodimlar bilan jadval mavjud va ikkita lavozimni egallagan xodimlar mavjud, bunday xodimlarning qatorlari ko'paytiriladi.
Va agar biz bunday xodimlarning umumiy daromadlari haqida ma'lumot olishimiz kerak bo'lsa, unda buning uchun biz ma'lumotlarni tanlash so'rovini amalga oshirishimiz kerak guruhlash bilan . Ma'lumotlarni tanlashda ma'lumotlarni guruhlash SELECT buyrug'i, GROUP BY kvalifikatsiya bandi va yig'ish funktsiyalari yordamida amalga oshiriladi . GROUP BY kalit so‘zi ixtiyoriy, lekin agar siz undan foydalansangiz, u WHERE saralash bandiga amal qilishi kerak.
Guruhlash ma'lumotlarini tanlash ma'lumotlar bazasidan foydalanadigan dastur kodini kamaytirish uchun ishlatiladi. Agar guruhlash bo'lmasa, biz dastur algoritmlarini murakkablashtirishimiz va shunga o'xshash funktsiyani DBMS dan ancha uzoqroq bajaradigan o'z kodimizni yozishimiz kerak edi .
Shu tarzda biz SELECT so‘rovimizni murakkablashtiramiz va WHERE kvalifikatsiya bandidan, GROUP BY kalit so‘zidan va yig‘ish funksiyasidan foydalanamiz. Biz SELECT, GROUP BY va WHERE qanday ishlashi haqida og'zaki tavsif berdik va tanlashda ma'lumotlarni guruhlash misollariga o'tish vaqti keldi.
SQLite3 jadvallaridan ma'lumotlarni tanlashda ma'lumotlarni guruhlash misollari: GROUP BY va SELECT misollari
SELECT so'rovlarida ma'lumotlar tanlovini guruhlash misoli uchun biz oldingi qismdagi jadvaldan foydalanamiz , CREATE buyrug'i yordamida jadval tuzamiz :
SELECT id, name, sex, count(pro) FROM table1
WHERE sex = 'м'
GROUP BY name;
id name sex count(pro)
2 Cумкин Денис м 1
1 Пупкин Матвей м 1
3 Иван Иванов м 1
-- попробуем сгруппировать выборку по столбцу sex
SELECT id, name, sex, count(pro) FROM table1
WHERE sex = 'м'
GROUP BY sex;
id name sex count(pro)
3 Иван Иванов м 3
|
Ma'lumotlarni tanlashni guruhlashning zaruriy sharti shundaki, GROUP BY dan keyin ko'rsatilgan ustunlar SELECT dan keyin ham ko'rsatilishi kerak . Yuqorida sizda ikkita guruhlash misollari bor. Bitta misol tanlovni nom ustuni bo'yicha guruhlaydi, bizning holatlarimizda, shartni hisobga olgan holda, nom ustunida uchta noyob qiymat mavjud va biz jadvalda bo'lmagan yangi ustunli uchta qatorni olamiz: count (pro) bu holda pro-qiymatning takrorlanish sonini hisoblovchi agregatsiya funksiyasi.
Do'stlaringiz bilan baham: |