SQL Server GROUP by (Polski)

Podsumowanie: w tym samouczku dowiesz się, jak używać klauzuli SQL Server GROUP BY do układania wierszy w grupach według jednej lub więcej kolumn.

Wprowadzenie do grupy SQL Server przez klauzulę

klauzulaGROUP BY pozwala na uporządkowanie wierszy zapytania w grupach. Grupy są określane przez kolumny określone w klauzuli GROUP BY.,

Poniższa ilustracja ilustruje składnię klauzuli GROUP BY:

Code language: SQL (Structured Query Language) (sql)

w tym zapytaniu GROUP BY tworzy grupę dla każdej kombinacji wartości w kolumnach wymienionych w GROUP BY klauzula.

rozważ następujący przykład:

w tym przykładzie pobraliśmy identyfikator klienta i zamówiony rok klientów z ID klienta 1 i 2.,

jak widać wyraźnie z danych wyjściowych, klient o identyfikatorze złożył jedno zamówienie w 2016 roku i dwa zamówienia w 2018 roku. Klient z id two złożył dwa zamówienia w 2017 roku i jedno zamówienie w 2018 roku.

dodajmy GROUP BY klauzulę do zapytania, aby zobaczyć efekt:

uporządkowała pierwsze trzy wiersze w dwie grupy, a następne trzy wiersze w dwie pozostałe grupy z unikalnymi kombinacjami identyfikatora klienta i roku zamówienia.,

funkcjonalnie rzecz biorąc, klauzula GROUP BY w powyższym zapytaniu dała taki sam wynik, jak poniższe zapytanie, które wykorzystuje klauzulę DISTINCT:

SQL Server GROUP BY clause and aggregate functions

w praktyce GROUP BY klauzula jest często używany z funkcjami agregacji do generowania raportów podsumowujących.

klauzulaGROUP BY układa wiersze w grupy, a funkcja agregująca zwraca podsumowanie (count, min, max, average, sum, itd.,) dla każdej grupy.,

na przykład, następujące zapytanie zwraca liczbę zamówień złożonych przez klienta według roku:

Jeśli chcesz odwołać się do dowolnej kolumny lub wyrażenia, które nie są wymienione w GROUP BY klauzula, musisz użyć tej kolumny jako wejścia funkcji agregującej. W przeciwnym razie pojawi się błąd, ponieważ nie ma gwarancji, że kolumna lub wyrażenie zwróci pojedynczą wartość dla grupy., Na przykład, poniższe zapytanie nie powiedzie się:

więcej Grupuj według przykładów klauzuli

weźmy więcej przykładów, aby zrozumieć, jak działa klauzulaGROUP BY.

używając klauzuli GROUP BY z przykładową funkcją COUNT ()

następujące zapytanie zwraca liczbę klientów w każdym mieście:

w tym przykładzie, grupuje klientów według miast, a funkcja COUNT() zwraca liczbę klientów w każdym mieście.,

podobnie, poniższe zapytanie zwraca liczbę klientów według stanu i miasta.

używanie klauzuli GROUP BY z przykładowymi funkcjami MIN i MAX

poniższe polecenie zwraca minimalne i maksymalne ceny katalogowe wszystkich produktów z modelu 2018 według marki:

w tym przykładzie klauzula WHERE jest jak zawsze przetwarzana przed klauzulą GROUP BY.,v>

używanie klauzuli GROUP BY z przykładem funkcji SUM

zobacz następujący order_items tabela:

poniższe zapytanie używa funkcji SUM() aby uzyskać wartość netto każdego zamówienia:

w tym samouczku nauczyłeś się używać klauzuli SQL Server GROUP BY do układania wierszy w grupach według określonej listy kolumn.,

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *