Instrukcja GROUP BY w SQL służy do układania identycznych danych w grupy za pomocą niektórych funkcji. tzn. jeśli dana kolumna ma takie same wartości w różnych wierszach, to ułoży te wiersze w grupie.
ważne punkty:
- klauzula GROUP BY jest używana z instrukcją SELECT.
- w zapytaniu klauzula GROUP BY jest umieszczana po klauzuli WHERE.
- w zapytaniu klauzula GROUP BY jest składana przed klauzulą ORDER BY, jeśli jest używana.,
składnia:
przykładowa tabela:
pracownik
Student
przykład:
- Grupuj pojedynczą kolumnę: grupuj pojedynczą kolumnę oznacza umieszczenie wszystkich wierszy o tej samej wartości tylko tej kolumny w jednej grupie., Rozważ zapytanie, jak pokazano poniżej:
SELECT NAME, SUM(SALARY) FROM Employee GROUP BY NAME;
powyższe zapytanie wygeneruje poniższy wynik:
Jak widać na powyższym wyjściu, wiersze o zduplikowanych nazwach są zgrupowane pod tą samą nazwą, a ich odpowiadająca pensja jest sumą wynagrodzenia zduplikowanych wierszy. Funkcja SUM() SQL jest tutaj używana do obliczania sumy.
- Grupuj według wielu kolumn: Grupuj według wielu kolumn to na przykład grupa według kolumn1, kolumn2., Oznacza to umieszczenie wszystkich wierszy o tych samych wartościach obu kolumn column1 i column2 w jednej grupie. Rozważ poniższe zapytanie:
SELECT SUBJECT, YEAR, Count(*)FROM StudentGROUP BY SUBJECT, YEAR;
Wyjście:
Jak widać na powyższym wyjściu uczniowie z tego samego przedmiotu I roku są umieszczani w tej samej grupie. A ci, których jedynym przedmiotem jest ten sam, ale nie rok, należą do różnych grup. Więc tutaj pogrupowaliśmy tabelę według dwóch kolumn lub więcej niż jednej kolumny.,
mając klauzulę
wiemy, że gdzie klauzula służy do umieszczania warunków na kolumnach, ale co jeśli chcemy umieścić warunki na grupach?
tutaj zaczyna się używać klauzuli HAVING. Możemy użyć klauzuli HAVING, aby umieścić warunki, aby zdecydować, która grupa będzie częścią końcowego rezultatu-zestawu. Nie możemy również używać funkcji agregujących, takich jak SUM (), COUNT() itp. z klauzulą WHERE. Musimy więc użyć klauzuli HAVING, jeśli chcemy użyć którejkolwiek z tych funkcji w Warunkach.,
składnia:
przykład:
SELECT NAME, SUM(SALARY) FROM Employee GROUP BY NAMEHAVING SUM(SALARY)>3000;
Wyjście:
Jak widać na powyższym wyjściu tylko jedna grupa z trzech grup pojawia się w wyniku ustawionym jako tylko grupa, w której suma wynagrodzenia jest większa niż 3000. Więc użyliśmy tutaj klauzuli HAVING, aby umieścić ten warunek, ponieważ warunek jest wymagany do umieszczenia na grupach, a nie kolumnach.
autorem artykułu jest Harsh Agarwal. Jeśli lubisz GeeksforGeeks i chcesz przyczynić się, możesz również napisać artykuł za pomocą contribute.geeksforgeeks.,org lub wyślij artykuł do [email protected]. Zobacz swój artykuł pojawiający się na stronie głównej GeeksforGeeks i pomóż innym Geekom.
Dodaj komentarz