Database
 sql >> Baza danych >  >> RDS >> Database

Do czego służy instrukcja SQL GROUP BY?

W przypadku dużej ilości danych często widzimy możliwość manipulowania danymi zgodnie z naszymi wymaganiami. Klauzula GROUP BY jest jedną z takich instrukcji w SQL, używaną do grupowania danych na podstawie kilku kolumn lub warunków. W tym artykule na temat instrukcji SQL GROUP BY omówię kilka sposobów użycia instrukcji GROUP BY w następującej kolejności:

  1. Oświadczenie GROUP BY
  2. Składnia
  3. Przykłady:
    • Użyj GROUP BY w jednej kolumnie
    • GROUP BY w wielu kolumnach
    • Użyj GROUP BY z ORDER BY
    • GROUP BY z klauzulą ​​HAVING
    • Użyj GROUP BY z JOINS

Zanim przejdziemy do przykładów użycia klauzuli GROUP BY, zrozummy, czym jest GROUP BY w SQL i jego składnią.

Oświadczenie SQL GROUP BY

Ta instrukcja służy do grupowania rekordów o tych samych wartościach. Instrukcja GROUP BY jest często używana z funkcjami agregacji do grupowania wyników według jednej lub większej liczby kolumn. Oprócz tego klauzula GROUP BY jest również używana z klauzulą ​​HAVING i JOINS do grupowania zestawu wyników na podstawie warunków.

SQL GROUP BY Składnia

SELECT Column1, Column2,..., ColumnN
FROM TableName
WHERE Condition
GROUP BY ColumnName(s)
ORDER BY ColumnName(s);

Tutaj możesz dodać funkcje agregujące przed nazwami kolumn, a także klauzulę HAVING na końcu instrukcji, aby wspomnieć o warunku. Następnie, w tym artykule na temat SQL GROUP BY, wyjaśnijmy, jak zaimplementować to oświadczenie.

Przykłady:

Dla lepszego zrozumienia podzieliłem przykłady na następujące sekcje:

    • Użyj GROUP BY w jednej kolumnie
    • GROUP BY w wielu kolumnach
    • Użyj GROUP BY z ORDER BY
    • GROUP BY z klauzulą ​​HAVING
    • Użyj GROUP BY z JOINS

Rozważę poniższą tabelę, aby wyjaśnić Ci przykłady:

EmpID EmpName EmpEmail Numer telefonu Wynagrodzenie Miasto

1

Nidhi

[email protected]

9955669999

50000

Bombaj

2

Tak

[email protected]

9875679861

55000

Pune

3

Rahul

[email protected]

9876543212

35000

Delhi

4

Sonia

[email protected]

9876543234

35000

Delhi

5

Akasz

[email protected]

9866865686

25000

Bombaj

Przyjrzyjmy się każdemu z nich.

Użyj SQL GROUP BY na pojedynczej kolumnie

Przykład:

Napisz zapytanie, aby pobrać liczbę pracowników w każdym mieście.

SELECT COUNT(EmpID), City
FROM Employees
GROUP BY City;

Wyjście:

Zobaczysz następujące dane wyjściowe:

Count(EmpID) Miasto

2

Delhi

2

Bombaj

1

Pune

Użyj SQL GROUP BY na wielu kolumnach

Przykład:

Napisz zapytanie, aby pobrać liczbę pracowników o różnych zarobkach w każdym mieście.

SELECT City, Salary, Count(*)
FROM Employees
GROUP BY City, Salary;

Wyjście:

Tabela będzie zawierała następujące dane:

Miasto Wynagrodzenie Liczba(*)

Delhi

35000

2

Bombaj

25000

1

Bombaj

50000

1

Pune

55000

1

Użyj SQL GROUP BY z ORDER BY

Kiedy używamy instrukcji SQL GROUP BY z klauzulą ​​ORDER BY, wartości są sortowane w kolejności rosnącej lub malejącej.

Przykład:

Napisz zapytanie, aby pobrać liczbę pracowników w każdym mieście, posortowaną w porządku malejącym.

SELECT COUNT(EmpID), City
FROM Employees
GROUP BY City
ORDER BY COUNT(EmpID) DESC;

Wyjście:

Tabela będzie zawierała następujące dane:

Count(EmpID) Miasto

2

Delhi

2

Bombaj

1

Pune

Użyj SQL GROUP BY z klauzulą ​​HAVING

Instrukcja SQL GROUP BY jest używana z klauzulą ​​„HAVING”, aby wymienić warunki dotyczące grup. Ponadto, ponieważ nie możemy używać funkcji agregujących z klauzulą ​​WHERE, musimy użyć klauzuli „HAVING”, aby użyć funkcji agregujących z klauzulą ​​GROUP BY.

Przykład:

Napisz zapytanie, aby pobrać liczbę pracowników w każdym mieście z pensją> 15000

SELECT COUNT(EmpID), City
FROM Employees
GROUP BY City
HAVING SALARY > 15000;

Wyjście:

Ponieważ wszystkie są rekordami w tabeli Employee mają wynagrodzenie> 15000, jako dane wyjściowe zobaczymy następującą tabelę:

Count(EmpID) Miasto

2

Delhi

2

Bombaj

1

Pune

Użyj GROUP BY z JOINS

JOINS to instrukcje SQL używane do łączenia wierszy z dwóch lub więcej tabel na podstawie powiązanej kolumny między tymi tabelami. Możemy użyć instrukcji SQL GROUP BY, aby pogrupować zestaw wyników na podstawie kolumny/kolumn. Rozważ poniższe tabele, aby wykonać instrukcje JOIN z klauzulą ​​SQL GROUP BY.

Tabela projektów:

Identyfikator projektu EmpID Identyfikator klienta DataProjektu
2345 1 4 26-01-2019
9876 2 5 28-02-2019
3456 3 6 12-03-2019

Tabela klientów:

Identyfikator klienta Nazwa klienta

4

Sanjana

5

Rohan

6

Arun

Przykład

Napisz zapytanie, aby wyświetlić liczbę projektów żądanych przez każdego klienta:

SELECT Clients.ClientName, COUNT(Projects.ProjectID) AS RequestedProjects FROM Projects
LEFT JOIN Clients ON Projects.ProjectID = Clients.ProjectID
GROUP BY ClientName;

Wyjście:

Tabela będzie zawierała następujące dane:

Nazwa klienta Żądane projekty

Arun

1

Rohan

1

Sanjana

1

Na tym kończymy artykuł SQL GROUP BY. Sprawdź to Szkolenie certyfikacyjne MySQL DBA przez Edurekę, zaufaną firmę edukacyjną online z siecią zponad 250 000 zadowolonych uczniów rozsianych po całym świecie. Ten kurs uczy podstawowych pojęć oraz zaawansowanych narzędzi i technik zarządzania danymi i administrowania bazą danych MySQL. Obejmuje on praktyczną naukę takich pojęć, jak MySQL Workbench, MySQL Server, modelowanie danych, MySQL Connector, Database Design, MySQL Command line, MySQL Functions, itp. Po zakończeniu szkolenia będziesz mógł tworzyć i administrować własną bazą danych MySQL oraz zarządzać danymi.

Masz do nas pytanie? Wspomnij o tym w sekcji komentarzy tego artykułu „SQL GROUP BY”, a my skontaktujemy się z Tobą tak szybko, jak to możliwe.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Przyrostowa replikacja danych w IRI Workbench

  2. Naucz się podstawowej analizy danych za pomocą funkcji okna SQL

  3. Używanie Geekbench 3.2 do testowania dużych serwerów baz danych

  4. SQL GROUP BY – 3 proste wskazówki, jak grupować wyniki jak profesjonalista

  5. Wzorce projektowe interfejsu użytkownika, które nie skalują się