GROUP BY mohiyati, SELECT qoidasi, bir nechta ustun, WHERE va ORDER BY bilan birga
9-sinfBusiness Intelligence6-hafta · 17-darsGuruh = bitta qator
Eng ko'p xato
Ikki ustun, WHERE, ORDER BY
COUNT(Chegirma) nimani sanaydi?
Guruh = bitta qator
SELECT Shahar,
COUNT(*) AS SotuvSoni,
SUM(Summa) AS Jami
FROM Sotuvlar
GROUP BY Shahar;
-- Toshkent | 4 | 5380000
-- Samarqand | 3 | 9640000
-- Buxoro | 3 | 3360000
GROUP BY Shahar natijasida nechta qator chiqadi (3 ta shahar bor)?
Eng ko'p xato
-- XATO: Summa guruhlanmagan va funksiyada emas
SELECT Shahar, Summa
FROM Sotuvlar
GROUP BY Shahar;
-- TO'G'RI
SELECT Shahar, SUM(Summa) AS Jami
FROM Sotuvlar
GROUP BY Shahar;
GROUP BY ga qo'shing.SELECT Shahar, Summa ... GROUP BY Shahar nega xato?
Ikki ustun, WHERE, ORDER BY
SELECT Shahar, Kategoriya, SUM(Summa) AS Jami
FROM Sotuvlar
GROUP BY Shahar, Kategoriya
ORDER BY Shahar, Kategoriya;
-- 8 qator: Buxoro/Aksessuar 160000, Buxoro/Kompyuter 3200000, ...
SELECT Shahar, SUM(Summa) AS Jami
FROM Sotuvlar
WHERE Kategoriya = N'Aksessuar'
GROUP BY Shahar
ORDER BY Jami DESC;
-- Toshkent 280000 | Samarqand 240000 | Buxoro 160000
ORDER BY Jami DESC — eng katta yig'indidan boshlab: «reyting» hosil qilishning eng oddiy usuli.Qaysi tartib to'g'ri?
Avval filtr, keyin guruhlash.
Qatorlarni ustun bo'yicha guruhlaydi
Bir xil qiymatli qatorlar to'plami
AS bilan berilgan nom
Natijani saralaydi
Nima bo'yicha guruhlaymiz?
SUM, COUNT, AVG.
SELECT qoidasiga mos.
| So'rov | Guruh | Natija qatori |
|---|---|---|
GROUP BY Shahar | Shahar | 3 |
GROUP BY Kategoriya | Toifa | 3 |
GROUP BY Shahar, Kategoriya | Juft | 8 |
GROUP BY Sana | Sana | 5 |
| Guruhsiz | Butun jadval | 1 |
Sotuvlar jadvali bo'yicha
GROUP BY Shahar bilan hisoblang.SUM(Summa) ni qo'shing va ORDER BY bilan eng kattasini birinchi chiqaring.WHERE bilan faqat Aksessuar toifasini oling va natijani solishtiring.
SELECT Shahar, Summa
FROM Sotuvlar
GROUP BY Shahar;
SELECT Shahar, SUM(Summa) AS Jami
FROM Sotuvlar
GROUP BY Shahar;
Guruh soni = natija qatorlari soni.
Har guruh uchun bitta qator.
Ustun funksiyada yoki GROUP BY da.
WHERE → GROUP BY → ORDER BY.
Uyga vazifa: GROUP BY: shahar va toifa bo'yicha hisobotlar.
Guruhlarni filtrlash
6-hafta · 18-dars