Functies van SQL-groep

Inhoudsopgave

Groepsfuncties zijn ingebouwd in SQL-functies die op groepen rijen werken en een waarde voor de hele groep retourneren. Deze functies zijn: GROEP, HEBBEN, TELLEN, MAX, MIN, AVG, SOM, VERSCHILLEN.
de clausule GROEP OP gebruikt in combinatie met groepsfuncties om gegevens op te halen die zijn gegroepeerd volgens een of meer kolommen.
Subtotalen kunnen worden verkregen met de GROUP BY-clausule. Een query met een GROUP BY-component wordt een gegroepeerde query genoemd omdat deze de gegevens in de brontabel groepeert en een enkele samenvattingsrij produceert voor elke gevormde groep. De kolommen die zijn aangegeven in de GROUP BY worden groeperingskolommen genoemd.
Stel een verkooptabel met de volgende velden:
ID | product | prijs | hoeveelheid | id verkoper
Voorbeeld:
SELECTEER SUM (prijs) als totale verkoop FROM verkoop
Krijgt de som van de totale verkopen die zijn gemaakt, de waarde wordt toegewezen aan de totale verkoop
KIES SUM (sales) UIT sales GROUP BY id medewerker
Voor elke medewerker wordt een groep gevormd en de som wordt berekend over de rijen van elke groep. Het vorige voorbeeld verkrijgt een lijst met de som van de verkopen van elk van de werknemers.
De vraag zou beter zijn om in de keuzelijst de naam van de medewerker op te nemen om te weten met welke medewerker de som van verkopen overeenkomt:
 SELECTEER medewerkers.naam, SUM (prijs) AS salesper medewerker VAN sales, medewerkers Waar sales.idemployee = medewerkers.idemployee GROUP BY ideemployee

Enkel en alleen:
constante waarden
kolom functies
kolommen groeperen (kolommen die voorkomen in de GROUP BY-component)
of enige uitdrukking op basis van het bovenstaande.
Voorbeeld: We willen als we vestigingen hadden en we zouden graag de som van de omzet van de medewerkers gegroepeerd per regio en stad willen krijgen:
 SELECTEER SUM (prijs) als omzet per filiaal FROM sales GROUP BY regio, stad

Het is eerst gegroepeerd per regio en binnen elke regio per stad.
Alle rijen met een null-waarde in het groeperingsveld worden één groep. Dat wil zeggen, het behandelt de null-waarde als elke waarde voor groeperingsdoeleinden.
De HAVING-clausule
Met de HAVING-component kunnen we rijen selecteren uit de tabel die het resultaat zijn van een groeperingsquery
Alleen het volgende kan in de selectievoorwaarde verschijnen:
constante waarden
kolom functies
kolommen groeperen (kolommen die voorkomen in de GROUP BY-component)
of enige uitdrukking op basis van het bovenstaande.
Voorbeeld: We willen weten welke medewerkers meer dan 10.000 euro hebben verkocht
 KIES * UIT VERKOOPGROEP PER idemedewerker MET AVG (prijs)> 10000

Om te verkrijgen wat wordt gevraagd, moeten we de gemiddelde verkoop van de werknemers berekenen. We moeten de werknemers groeperen op id en het gemiddelde berekenen voor elk van de verkopen per werknemer, ten slotte moeten we uit het resultaat de rijen selecteren die een gemiddelde hoger hebben dan 10.000.
Hoe wordt een groepsquery intern uitgevoerd?
Eerst wordt de gegevensbrontabel gevormd volgens de FROM-clausule,
de rijen worden geselecteerd uit de gegevensbron volgens de WHERE-clausule,
rijgroepen worden gevormd volgens de GROUP BY-clausule,
Voor elke groep wordt in de resulterende tabel een rij verkregen met de waarden die voorkomen in de clausules GROUP BY, HAVING en in de selectielijst,
de rijen worden geselecteerd uit de resulterende tabel volgens de HAVING-clausule,
kolommen die niet in de selectielijst voorkomen, worden verwijderd uit de resulterende tabel,
de rijen van de resulterende tabel zijn geordend volgens de ***** BY-clausule
Een query wordt een groepsquery zodra GROUP BY, HAVING of een kolomfunctie verschijnt.Vond je deze Tutorial leuk en heb je eraan geholpen?Je kunt de auteur belonen door op deze knop te drukken om hem een ​​positief punt te geven
wave wave wave wave wave