Výukový program MySQL

MySQL HOME Úvod do MySQL MySQL RDBMS

MySQL SQL

MySQL SQL MySQL SELECT MySQL KDE MySQL A NEBO NE MySQL OBJEDNAT PODLE MySQL INSERT INTO MySQL hodnoty NULL AKTUALIZACE MySQL MySQL DELETE LIMIT MySQL MySQL MIN a MAX MySQL COUNT, AVG, SUM MySQL LIKE Zástupné znaky MySQL MySQL IN MySQL MEZI Aliasy MySQL Připojení k MySQL VNITŘNÍ PŘIPOJENÍ k MySQL MySQL LEFT JOIN MySQL SPRÁVNÉ PŘIPOJENÍ SE MySQL CROSS JOIN Vlastní připojení k MySQL MySQL UNION MySQL GROUP BY MySQL MÁME MySQL EXISTUJE MySQL JAKÉKOLI, VŠECHNY MySQL INSERT SELECT CASE MySQL Funkce MySQL Null Komentáře k MySQL Operátoři MySQL

Databáze MySQL

MySQL Vytvořte DB MySQL Drop DB Vytvořit tabulku MySQL MySQL Drop Table MySQL Alter Table Omezení MySQL MySQL není Null Unikátní MySQL Primární klíč MySQL cizí klíč MySQL Kontrola MySQL Výchozí MySQL Vytvořit index MySQL Automatický přírůstek MySQL Data MySQL Zobrazení MySQL

Reference MySQL

MySQL datové typy Funkce MySQL

Příklady MySQL

Příklady MySQL MySQL kvíz Cvičení MySQL

Příkaz MySQL GROUP BY


Příkaz MySQL GROUP BY

Příkaz GROUP BYseskupuje řádky, které mají stejné hodnoty, do souhrnných řádků, například „zjistit počet zákazníků v každé zemi“.

Příkaz GROUP BYse často používá s agregačními funkcemi ( COUNT(), MAX(), MIN(), SUM(), AVG()) k seskupení sady výsledků podle jednoho nebo více sloupců.

GROUP BY Syntaxe

SELECT column_name(s)
FROM table_name
WHERE condition
GROUP BY column_name(s)
ORDER BY column_name(s);

Demo databáze

Níže je uveden výběr z tabulky „Zákazníci“ v ukázkové databázi Northwind:

CustomerID CustomerName ContactName Address City PostalCode Country
1

Alfreds Futterkiste Maria Anders Obere Str. 57 Berlin 12209 Germany
2 Ana Trujillo Emparedados y helados Ana Trujillo Avda. de la Constitución 2222 México D.F. 05021 Mexico
3 Antonio Moreno Taquería Antonio Moreno Mataderos 2312 México D.F. 05023 Mexico
4

Around the Horn Thomas Hardy 120 Hanover Sq. London WA1 1DP UK
5 Berglunds snabbköp Christina Berglund Berguvsvägen 8 Luleå S-958 22 Sweden


Příklady MySQL GROUP BY

Následující příkaz SQL uvádí počet zákazníků v každé zemi:

Příklad

SELECT COUNT(CustomerID), Country
FROM Customers
GROUP BY Country;

Následující příkaz SQL uvádí počet zákazníků v každé zemi, seřazené od nejvyšší k nejnižší:

Příklad

SELECT COUNT(CustomerID), Country
FROM Customers
GROUP BY Country
ORDER BY COUNT(CustomerID) DESC;

Demo databáze

Níže je uveden výběr z tabulky "Objednávky" v ukázkové databázi Northwind:

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

A výběr z tabulky "Dopravci":

ShipperID ShipperName
1 Speedy Express
2 United Package
3 Federal Shipping

Příklad GROUP BY With JOIN

Následující příkaz SQL uvádí počet objednávek odeslaných každým odesílatelem:

Příklad

SELECT Shippers.ShipperName, COUNT(Orders.OrderID) AS NumberOfOrders FROM Orders
LEFT JOIN Shippers ON Orders.ShipperID = Shippers.ShipperID
GROUP BY ShipperName;

Otestujte se pomocí cvičení

Cvičení:

Uveďte počet zákazníků v každé zemi.

SELECT (CustomerID),
Country
FROM Customers
;