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