MySQL GROUP BY


ULASHISH

MySQL GROUP BY operatori

GROUP BY iborasi bir xil qiymatlarga ega bo‘lgan qatorlarni “Har bir mamlakatdagi mijozlar sonini toping” kabi umumiy qatorlarga guruhlash uchun ishlatiladi.

GROUP BY iborasi deyarli har doim har bir guruh bo‘yicha hisob-kitoblarni bajarish uchun COUNT(), MAX(), MIN(), SUM(), AVG() kabi jamlama funksiyalar bilan birgalikda ishlatiladi.

Sintaksis bo‘yicha GURUHLASH

SELECT column1, aggregate_function(column2), column3, ...
FROM table_name
WHERE condition
GROUP BY column1, column3
ORDER BY column_name;

Demo ma’lumotlar bazasi

Quyida Northwind namunasidagi "Mijozlar" jadvalidan tanlov mavjud ma’lumotlar bazasi:

Mijoz ID Mijoz nomi Kontakt nomi Manzil Shahar Pochta kodi Mamlakat
1

Alfreds Futterkiste Mariya Anders Obere ko‘chasi. 57 Berlin 12209 Germaniya
2 Ana Trujillo Emparedados y helados Ana Trujillo Avda. de la Konstitutsiya 2222 Meksika D.F. 05021 Meksika
3 Antonio Moreno Taqueria Antonio Moreno Mataderos 2312 Meksika D.F. 05023 Meksika
4

Shox atrofida Tomas Xardi 120 Gannover kv. London WA1 1DP UK
5 Berglunds snabbköp Kristina Berglund Berguvsvägen 8 Luleå S-958 22 Shvetsiya


MySQL GROUP BY. Misollar

Quyidagi SQL har bir mamlakatdagi mijozlar sonini qaytaradi:

Misol

SELECT Country, COUNT(CustomerID) AS "Number of Customers"
FROM Customers
GROUP BY Country;
O‘zingiz sinab ko‘ring »

Quyidagi SQL har bir mamlakatdagi mijozlar sonini yuqoridan pastgacha saralab beradi:

Misol

SELECT Country, COUNT(CustomerID) AS "Number of Customers"
FROM Customers
GROUP BY Country
ORDER BY COUNT(CustomerID) DESC;
O‘zingiz sinab ko‘ring »

Demo ma’lumotlar bazasi

Quyida Northwind namunaviy ma’lumotlar bazasidagi "Orders" jadvalidan tanlov keltirilgan:

OrderID CustomerID EmployeeID OrderDate ShipperID
10248 90 5 1996-07-04 3
10249 81 6 1996-07-05 1
10250 34 4 1996-07-08 2

Va "Yuk yuboruvchilar" jadvalidan tanlov:

ShipperID ShipperName
1 Speedy Express
2 United Package
3 Federal Shipping

JOIN bilan GROUP BY Misol

Quyidagi SQL operatorida har bir jo‘natuvchi tomonidan yuborilgan buyurtmalar soni ko‘rsatilgan:

Misol

SELECT Shippers.ShipperName, COUNT(Orders.OrderID) AS "Number of Orders"
FROM Orders
LEFT JOIN Shippers ON Orders.ShipperID = Shippers.ShipperID
GROUP BY ShipperName;
O‘zingiz sinab ko‘ring »


W3Schools Pathfinder

Yutuqlaringizni kuzating – bu bepul!