samenvatting: in deze tutorial leert u hoe u de Oracle GROUP BY
clausule kunt gebruiken om rijen in groepen te groeperen.
Introduction to Oracle GROUP BY clause
deGROUP BY
clausule wordt gebruikt in eenSELECT
statement om rijen te groeperen in een reeks samenvattende rijen op basis van waarden van kolommen of expressies. DeGROUP BY
clausule geeft één rij per groep terug.,
De GROUP BY
clausule wordt vaak gebruikt met geaggregeerde functies zoals AVG()
, COUNT()
, MAX()
, MIN()
en SUM()
. In dit geval retourneert de aggregate functie de samenvattende informatie per groep. Bijvoorbeeld, gegeven groepen producten in verschillende categorieën, geeft de functie AVG()
De gemiddelde prijs van producten in elke categorie terug.,
het volgende illustreert de syntaxis van de Oracle GROUP BY
clausule:
de GROUP BY
clausule verschijnt na de FROM
clausule., In het geval WHERE
component wordt gepresenteerd, de GROUP BY
clausule moet worden geplaatst na de WHERE
component, zoals weergegeven in de volgende query:
De GROUP BY
component groepen rijen door de waarden in de kolommen groeperen zoals c1
, c2
en c3
. DeGROUP BY
clausule mag alleen aggregaten of groepen kolommen bevatten.,
Als u meerdere groepeerniveaus wilt opgeven die in één keer moeten worden berekend, gebruikt u de volgende ROLLUP
syntaxis:
bekijk de ROLLUP
tutorial voor meer informatie.,
Deze verklaring heeft dezelfde werking als de volgende instructie die gebruikmaakt van de DISTINCT
operator
B) Oracle GROEP DOOR met een statistische functie voorbeeld
De volgende instructie geeft als resultaat het aantal bestellingen van klanten:
In dit voorbeeld, we groeperen de bestellingen van de klanten gebruikt de COUNT()
functie voor het retourneren van het aantal bestellingen per groep.,
Voor meer betekenisvolle gegevens, kunt u lid worden van de orders
tabel met de customers
tabel, als volgt:
Hier is het resultaat:
C) Oracle GROEP DOOR met een uitdrukking voorbeeld
in Het volgende voorbeeld groepen de bestellingen per jaar en geeft het aantal bestellingen per jaar.
in dit voorbeeld hebben we de functie EXTRACT()
gebruikt om de jaarinformatie van de datums van de bestelling te krijgen.,
In tegenstelling tot de vorige voorbeelden, gebruikten we een uitdrukking die het jaar teruggeeft in de GROUP BY
clausule.,In de volgende afbeelding ziet u het resultaat:
D) Oracle GROEP DOOR met een WHERE-component voorbeeld
Dit voorbeeld gebruikt de GROUP BY
– component met een WHERE
– component om het aantal verzonden bestellingen voor elke klant:
Hier is de output:
Merk op dat de Oracle altijd evalueert de toestand in de WHERE
component voor de GROUP BY
component.,
E) Oracle GROEP DOOR met ROLLUP voorbeeld
De volgende verklaring berekent de omzet en-groepen door customer_id
, status
, en (customer_id
, status
):
In deze les hebt u geleerd hoe u de Oracle GROUP BY
component van de groep rijen in groepen.
- Was deze tutorial nuttig?
- YesNo