Samouczek SQL

SQL HOME Wprowadzenie do SQL Składnia SQL Wybór SQL SQL Wybierz Wyraźne SQL Gdzie SQL i lub nie Kolejność SQL według SQL Wstaw do Puste wartości SQL Aktualizacja SQL Usuń SQL SQL Wybierz Góra Minimalna i maksymalna wartość SQL Liczba SQL, średnia, suma Polubienie SQL Symbole wieloznaczne SQL SQL In SQL między Aliasy SQL Połączenia SQL Wewnętrzne złącze SQL Połączenie lewe SQL Prawe połączenie SQL Pełne dołączenie do SQL Samoprzyłączanie SQL SQL Union Grupa SQL według Posiadanie SQL SQL istnieje SQL Dowolne, Wszystkie SQL Wybierz do Wstaw SQL do Wybierz Sprawa SQL Funkcje zerowe SQL Procedury składowane w SQL Komentarze SQL Operatory SQL

Baza danych SQL

Tworzenie bazy danych SQL Porzucona baza danych SQL Kopia zapasowa bazy danych SQL Utwórz tabelę SQL Tabela upuszczania SQL Zmień tabelę SQL Ograniczenia SQL SQL nie jest pusty Unikalny SQL Klucz podstawowy SQL Klucz obcy SQL Sprawdzanie SQL Domyślny SQL Indeks SQL Automatyczny przyrost SQL Daty SQL Widoki SQL Wstrzyknięcie SQL Hosting SQL Typy danych SQL

Referencje SQL

Słowa kluczowe SQL Funkcje MySQL Funkcje serwera SQL Funkcje dostępu MS Szybkie odwołanie do SQL

Przykłady SQL

Przykłady SQL Quiz SQL Ćwiczenia SQL Certyfikat SQL

Instrukcja SQL GROUP BY


Instrukcja SQL GROUP BY

Zestawienie GROUP BYgrupuje wiersze, które mają te same wartości, w wiersze podsumowania, np. „Znajdź liczbę klientów w każdym kraju”.

Instrukcja GROUP BYjest często używana z funkcjami agregującymi ( COUNT(), MAX(), MIN(), SUM(), AVG()) do grupowania zestawu wyników według jednej lub większej liczby kolumn.

GROUP BY Składnia

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

Demo bazy danych

Poniżej znajduje się wybór z tabeli „Klienci” w przykładowej bazie danych 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


SQL GROUP BY Przykłady

Poniższa instrukcja SQL zawiera listę klientów w każdym kraju:

Przykład

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

Poniższa instrukcja SQL zawiera listę klientów w każdym kraju, posortowaną od najwyższej do najniższej:

Przykład

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

Demo bazy danych

Poniżej znajduje się wybór z tabeli „Zamówienia” w przykładowej bazie danych 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

Oraz wybór z tabeli „Nadawcy”:

ShipperID ShipperName
1 Speedy Express
2 United Package
3 Federal Shipping

GRUPUJ WEDŁUG Z PRZYKŁADEM DOŁĄCZ

Poniższa instrukcja SQL zawiera listę zamówień wysłanych przez każdego nadawcę:

Przykład

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

Sprawdź się za pomocą ćwiczeń

Ćwiczenie:

Podaj liczbę klientów w każdym kraju.

SELECT (CustomerID),
Country
FROM Customers
;