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 BYklauzula 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ższegoROLLUPskł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