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