Jakie jest zastosowanie instrukcji SQL GROUP BY?



Ten artykuł jest obszernym przewodnikiem, jak używać instrukcji SQL GROUP BY do grupowania danych według kilku warunków lub kolumn.

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 , służy do grupowania danych na podstawie kilku kolumn lub na podstawie warunków. W tym artykule na temat instrukcji SQL GROUP BY omówię kilka sposobów korzystania z instrukcji GROUP BY w następującej kolejności:

  1. Oświadczenie GROUP BY
  2. Składnia
  3. Przykłady:

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





Instrukcja 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 agregującymi 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 aby pogrupować zestaw wyników na podstawie warunków.

Składnia SQL GROUP BY

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

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ć tę instrukcję.



Przykłady:

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

Rozważę następującą tabelę, aby wyjaśnić przykłady:

EmpID EmpName EmpEmail Numer telefonu Wynagrodzenie Miasto

jeden



Nidhi

nidhi@sample.com

9955669999

50 000

Bombaj

2

Anay

anay@sample.com

9875679861

55000

Położyć

3

Rahul

rahul@sample.com

9876543212

35000

Delhi

4

Sonia

sonia@sample.com

9876543234

35000

Delhi

5

Akash

akash@sample.com

9866865686

25000

Bombaj

Przyjrzyjmy się każdemu z nich.

Użyj SQL GROUP BY na jednej kolumnie

Przykład:

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

WYBIERZ LICZBĘ (EmpID), miasto z pracowników GRUPA WEDŁUG MIASTA

Wynik:

Zobaczysz następujące dane wyjściowe:

Count (EmpID) Miasto

2

Delhi

2

Bombaj

jeden

Położyć

Użyj SQL GROUP BY na wielu kolumnach

Przykład:

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

Wybierz miasto, wynagrodzenie, liczbę (*) z pracowników GROUP BY Miasto, wynagrodzenie

Wynik:

Tabela będzie zawierać następujące dane:

Miasto Wynagrodzenie Liczyć(*)

Delhi

35000

2

Bombaj

25000

jeden

Bombaj

50 000

jeden

Położyć

55000

jeden

Użyj SQL GROUP BY z ORDER BY

Kiedy używamy instrukcji SQL GROUP BY z rozszerzeniem Klauzula 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.

WYBIERZ LICZ (EmpID), Miasto Z Pracowników GRUPA WG MIASTA KOLEJNOŚĆ WG LICZB (EmpID) DESC

Wynik:

Tabela będzie zawierać następujące dane:

Count (EmpID) Miasto

2

Delhi

2

Bombaj

jeden

Położyć

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

Instrukcja SQL GROUP BY jest używana z klauzulą ​​„HAVING”, aby wspomnieć o warunkach grup.Ponieważ nie możemy używać funkcji agregujących z klauzulą ​​WHERE, musimy użyć klauzuli „HAVING”, aby używać funkcji agregujących z klauzulą ​​GROUP BY.

Przykład:

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

WYBIERZ LICZBĘ (EmpID), miasto Z GRUPY pracowników WG MIASTA Z WYNAGRODZENIEM> 15000

Wynik:

Ponieważ wszystkie rekordy w tabeli Pracownicy mają pensję> 15000, jako wynik zobaczymy następującą tabelę:

Count (EmpID) Miasto

2

Delhi

2

Bombaj

jeden

Położyć

funkcje, które różnią się tylko zwracanym typem, nie mogą być przeciążane

Użyj GROUP BY z JOINS

SQL instrukcje używane do łączenia wierszy z co najmniej dwóch 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:

ProjectID EmpID Identyfikator klienta ProjectDate
2. 3. 4. 5jeden401-26-2019
98762502-28-2019
34563603-12-2019

Tabela klientów:

Identyfikator klienta Nazwa klienta

4

Sanjana

5

Rohan

6

Bieg

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 Project.ProjectID = Clients.ProjectID GROUP BY ClientName

Wynik:

Tabela będzie zawierać następujące dane:

Nazwa klienta RequestedProjects

Bieg

jeden

Rohan

jeden

Sanjana

jeden

W ten sposób dochodzimy do końca artykułu SQL GROUP BY. Sprawdź to autorstwa Edureka, zaufanej firmy zajmującej się edukacją online z siecią lub f ponad 250 000 zadowolonych uczniów rozsianych po całym świecie. Ten kurs uczy podstawowych koncepcji oraz zaawansowanych narzędzi i technik zarządzania danymi i administrowania bazą danych MySQL. Obejmuje praktyczną naukę pojęć takich jak MySQL Workbench, MySQL Server, Data Modeling, MySQL Connector, Database Design, MySQL Command line, MySQL Functions, itd. Po zakończeniu szkolenia będziesz mógł stworzyć i zarządzać 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.