SQL -gruppefunksjoner

Innholdsfortegnelse

Gruppefunksjoner er innebygd i SQL -funksjoner som opererer på grupper med rader og returnerer en verdi for hele gruppen. Disse funksjonene er: GRUPPE, HAVING, TELLING, MAKS, MIN, AVG, SUMME, DISTINCT.
Klausulen GRUPPE AV brukes i forbindelse med gruppefunksjoner for å hente data gruppert i henhold til en eller flere kolonner.
Delsummer kan fås med GROUP BY -klausulen. En spørring med en GROUP BY -ledd kalles en gruppert spørring fordi den grupperer dataene i kildetabellen og produserer en enkelt oppsummeringsrad for hver gruppe som dannes. Kolonnene som er angitt i GROUP BY kalles grupperingskolonner.
Anta en salgstabell med følgende felt
Id | produkt | pris | mengde | ID selger
Eksempel:
VELG SUMME (pris) som totalt salg FRA salg
Får summen av det totale salget som ble foretatt, verdien tildeles totalt salg
VELG SUMME (salg) FRA salgsgruppe etter ID -ansatt
En gruppe dannes for hver ansatt og summen beregnes over radene i hver gruppe. Det forrige eksemplet får en liste med summen av salget til hver enkelt av de ansatte.
Spørsmålet ville være bedre å inkludere navnet på den ansatte i utvalgslisten for å vite hvilken ansatt summen av salg tilsvarer:
 VELG ansatte. Navn, SUMME (pris) AS salg av ansatt FRA salg, ansatte Hvor salg.medarbeider = ansatte.medarbeider GRUPPE AV ideemployee

Bare:
konstante verdier
kolonne funksjoner
gruppering av kolonner (kolonner som vises i GROUP BY -setningen)
eller ethvert uttrykk basert på det ovennevnte.
Eksempel: Vi vil at hvis vi hadde filialer, og vi ønsker å få summen av salget til de ansatte gruppert etter region og by:
 VELG SUMME (pris) som salg etter gren FRA salgsgruppe etter region, by

Det er gruppert først etter region, og i hver region etter by.
Alle rader som har en nullverdi i grupperingsfeltet, blir en enkelt gruppe. Det vil si at den behandler nullverdien som en hvilken som helst verdi for gruppering.
HAVING -klausulen
HAVING -klausulen lar oss velge rader fra tabellen som følge av en gruppering
Bare følgende kan vises i valgbetingelsen:
konstante verdier
kolonne funksjoner
gruppering av kolonner (kolonner som vises i GROUP BY -setningen)
eller ethvert uttrykk basert på det ovennevnte.
Eksempel: Vi vil vite hvilke ansatte som solgte mer enn 10 000 euro
 VELG * FRA SALGSGRUPPE ETTER ID -arbeidstaker HAR AVG (pris)> 10000

For å få det som blir bedt om, må vi beregne gjennomsnittlig omsetning for de ansatte. Vi må gruppere de ansatte etter id og beregne gjennomsnittet for hvert salg per ansatt, til slutt må vi velge de resultatene som har et gjennomsnitt som er høyere enn 10.000.
Hvordan kjøres en gruppespørring internt?
Først dannes datakildetabellen i henhold til FROM -klausulen,
radene velges fra datakilden i henhold til WHERE -leddet,
radgrupper dannes i henhold til GROUP BY -klausulen,
For hver gruppe oppnås en rad i den resulterende tabellen med verdiene som vises i GROUP BY, HAVING -leddene og i valglisten,
radene velges fra den resulterende tabellen i henhold til HAVING -klausulen,
kolonner som ikke vises i utvalgslisten, fjernes fra tabellen,
radene i den resulterende tabellen er ordnet i henhold til ***** BY -klausulen
En forespørsel blir en gruppespørring så snart GROUP BY, HAVING eller en kolonnefunksjon vises.Likte og hjalp du denne opplæringen?Du kan belønne forfatteren ved å trykke på denne knappen for å gi ham et positivt poeng
wave wave wave wave wave