Ten samouczek nauczy Cię, jak korzystać z grupy według klauzuli w bazach danych Oracle.
Grupa Oracle według instrukcji
Grupa według klauzuli jest używana w instrukcji Select, aby podzielić wyniki na różne grupy. Klauzula zwróci następnie jeden wiersz na grupę.
W większości przypadków często znajdziesz grupę w połączeniu z funkcjami agregowanymi, takimi jak suma, avg, max itp. W takim scenariuszu klauzula grupuje dane w pasujących partycjach, a następnie funkcja zagregowana jest stosowana do każdej grupy.
Możemy zademonstrować składnię dla grupy według klauzuli pokazano w fragmencie poniżej:
Wybierz col_listZauważ, że grupa według klauzuli pochodzi po klauzuli z.
W niektórych przypadkach możesz uwzględnić klauzulę, aby ograniczyć zakres zapytania, jak pokazano w pytaniu poniżej:
Wybierz col_listRzędy są następnie grupowane na podstawie warunków określonych w wyrażeniach. Zauważ, że klauzula musi zawierać tylko kolumny grupowe.
Jednak Oracle pozwala na wykonanie grupy wielopoziomowej za pomocą słowa kluczowego ROLUP, jak pokazano w fragmencie poniżej:
Wybierz col_listPrzykładowe użycie
Poniżej znajduje się przykład wykorzystywania użycia grupy według klauzuli w bazach danych Oracle.
Użyj dostępnych danych.
Załóżmy, że mamy tabelę z informacją, jak pokazano:
Przykład 1 - Grupa podstawowa według użycia klauzuli
Poniższe przykładowe zapytanie pokazuje, jak korzystać z grupy według klauzuli do grupowania wynikających z nich rzędów na podstawie działu.
Wybierz nazwę pierwszej nazwy, Department_ID z grupy pracowników według Department_id, First_name;W takim przypadku oświadczenie powinno zamówić wyniki zapytanych danych na podstawie kolumn Department_id i First_name.
Powstałe wyjście jest jak ustalone poniżej:
Przykład 2 - Korzystanie z grupy z klauzulą Where
W poniższym przykładzie przedstawiamy fragment kodu pokazujący, jak korzystać z grupy według klauzuli w połączeniu z klauzulą gdzie.
Wybierz nazwę pierwszej nazwy, Department_ID od pracowników, w których Department_id> = 100 Grupa według Departamentu_ID, First_name;W takim przypadku instrukcja rozpoczyna się od wybrania kolumn First_name i Department_ID z tabeli. Następnie filtrujemy tylko dla wierszy, których wartość Departamentu jest większa lub równa 100.
Wreszcie, stosujemy grupę według klauzuli, jak pokazano w poniższej tabeli:
Przykład 3 - Korzystanie z grupy według klauzuli z funkcją łączną
Jak wspomniano, możemy użyć grupy według funkcji z funkcją agregatów. Przykładowa demonstracja znajduje się poniżej:
Wybierz nazwę First_name, Department_ID, suma (wynagrodzenie) od grupy pracowników według Department_id, First_name;Wynikowy stół:
Przykład 3 - Korzystanie z grupy według klauzuli z Rollup
Poniższy przykład pokazuje, jak użyć słowa kluczowego w kręgu, aby określić prowizję dla każdego pracownika.
Wybierz pracowników, wynagrodzenie, suma (commission_pct * pensja)Wyniki:
Wniosek
W tym poście zbadaliśmy użycie grupy według klauzuli w bazach danych Oracle, aby zgrupować zestaw wierszy na podstawie danego wyrażenia.