Grupuj według (SQL)

Instrukcja GROUP BY w języku SQL określa, że ​​instrukcja SQL SELECT dzieli wiersze wyników na grupy na podstawie ich wartości w jednej lub kilku kolumnach. Zazwyczaj grupowanie służy do zastosowania pewnego rodzaju funkcji agregującej dla każdej grupy.

Wynik zapytania używającego instrukcji GROUP BY zawiera jeden wiersz dla każdej grupy. Oznacza to ograniczenia dotyczące kolumn, które mogą pojawić się w powiązanej SELECT . Zgodnie z ogólną zasadą SELECT może zawierać tylko kolumny z unikalną wartością dla grupy. Obejmuje to kolumny pojawiające się w GROUP BY , a także agregaty dające jedną wartość na grupę.

Przykłady

Zwraca listę identyfikatorów działów wraz z sumą ich sprzedaży na dzień 1 stycznia 2000 r.

       
       
    WYBIERZ  DeptID  ,  SUMA  (  SaleAmount  )  FROM  Sales  WHERE  SaleDate  =  '01-sty-2000'  GROUP  BY  DeptID 

Zwraca dane z przykładowej tabeli przestawnej , która odpowiada na pytanie „Ile jednostek sprzedaliśmy w każdym regionie dla każdej daty wysyłki?”:

        
      
     WYBIERZ  Region  ,  Data_Wysyłki  ,  SUMA  (  Jednostki  )  AS  Suma_Jednostek  Z  FlatData  GROUP  BY  Region  ,  Data_Wysyłki 

Typowe funkcje grupowania ( agregacji ) obejmują:

  • Liczba ( wyrażenie ) — Liczba pasujących rekordów (na grupę)
  • Suma ( wyrażenie ) - Suma podanej wartości (na grupę)
  • Min ( wyrażenie ) - Minimum podanej wartości (na grupę)
  • Max ( wyrażenie ) - Maksimum podanej wartości (na grupę)
  • Avg ( wyrażenie ) - Średnia podanej wartości (na grupę)

Zobacz też

  1. ^ „Instrukcja SQL GROUP BY” . www.w3schools.com . Źródło 2020-09-18 .
  2. Bibliografia _ "GROUP BY (Transact-SQL) — SQL Server" . docs.microsoft.com . Źródło 2020-09-18 .
  3. ^ „Grupowanie i agregacja SQL” . baza danychwyklad.com . Źródło 2020-12-09 .

Linki zewnętrzne