Podsumowanie: w tym samouczku dowiesz się, jak używać klauzuli Oracle GROUP BY
do grupowania wierszy w grupy.
Wprowadzenie do klauzuli Oracle GROUP BY
klauzulaGROUP BY
jest używana w instrukcjiSELECT
do grupowania wierszy w zestaw wierszy podsumowujących według wartości kolumn lub wyrażeń. KlauzulaGROUP BY
zwraca jeden wiersz na Grupę.,
klauzula GROUP BY
jest często używana z funkcjami zbiorczymi, takimi jak AVG()
, COUNT()
, MAX()
, MIN()
I SUM()
. W tym przypadku funkcja agregująca zwraca informacje podsumowujące dla każdej grupy. Na przykład, dla danych grup produktów w kilku kategoriach, funkcja AVG()
Zwraca średnią cenę produktów w każdej kategorii.,
Poniższe ilustracje ilustrują składnię Oracle GROUP BY
klauzula:
GROUP BY
klauzula pojawia się po FROM
klauzula., W przypadku, gdy WHERE
klauzula jest przedstawiona, GROUP BY
klauzula musi być umieszczona po WHERE
klauzula pokazana w następującym zapytaniu:
GROUP BY
klauzula grupuje wiersze według wartości w kolumnach grupujących, takich jak c1
, c2
I c3
. Klauzula GROUP BY
musi zawierać tylko Agregaty lub kolumny grupujące.,
Jeśli chcesz określić wiele poziomów grupowania, które mają być obliczane naraz, użyj poniższegoROLLUP
składnia:
sprawdź samouczekROLLUP
aby uzyskać więcej informacji.,
Ta instrukcja ma taki sam efekt jak następująca instrukcja, która używa DISTINCT
operator:
B) Oracle Grupuj według za pomocą zagregowanej funkcji przykład
następująca instrukcja zwraca liczbę zamówień klientów:
w tym przykładzie, pogrupowaliśmy zamówienia według klientów i użyliśmy funkcji COUNT()
, aby zwrócić liczbę zamówień na Grupę.,
aby uzyskać bardziej znaczące dane, możesz dołączyć orders
tabelę customers
tabelę w następujący sposób:
oto wynik:
C) Oracle grupuje według wyrażenia przykład
poniższy przykład grupuje zamówienia według roku i zwraca liczbę zamówień rocznie.
w tym przykładzie użyliśmy funkcji EXTRACT()
, aby uzyskać informacje o roku z dat zamówienia.,
W przeciwieństwie do poprzednich przykładów, użyliśmy wyrażenia, które zwraca rok w klauzuli GROUP BY
.,Poniższy obrazek ilustruje wynik:
d) Oracle GROUP BY with WHERE clause example
Ten przykład wykorzystuje GROUP BY
klauzula z a WHERE
klauzula zwracająca liczbę wysłanych zamówień dla każdego klienta:
oto wyjście:
zauważ, że Oracle zawsze ocenia warunek w klauzuli WHERE
przed klauzulą GROUP BY
.,
E) Oracle grupuje według przykładu ROLLUP
poniższe polecenie oblicza kwotę sprzedaży i grupuje ją według customer_id
, status
oraz (customer_id
, status
):
w tym samouczku nauczyłeś się używać klauzuli OracleGROUP BY
do grupowania wierszy w grupy.
- czy ten tutorial był pomocny?
- YesNo