Bruke MySQL Aggregate -funksjoner med gruppe av

Bruke MySQL Aggregate -funksjoner med gruppe av
Normalt brukes SELECT -setningen til å hente alle samsvarende poster fra en eller flere tabeller basert på de forskjellige klausulene som er brukt i uttalelsen. Men noen ganger trenger vi den sammendragstypen av data fra tabellene basert på ethvert felt og aggregatfunksjon brukes til å gjøre denne typen oppgave. For eksempel, når ethvert selskap trenger den månedlige salgsrapporten, må salgsbeløpet legges til basert på salgsbeløpet til hver måned for å generere rapporten. Mange samlede funksjoner finnes i MySQL for å gjøre forskjellige typer sammendragsoppgaver. Generelt brukes gruppen BY -klausulen med hver aggregatfunksjon. Funksjonene til forskjellige MySQL Aggregate-funksjoner og bruk av noen vanlige aggregatfunksjoner vises i denne artikkelen ved å bruke to-prøve MySQL-databasetabeller.

Syntaks:

Velg Field1, Fields2, ..., Fieldn, Aggregate_Function (FieldX)
Fra bordet
Hvor forhold
Gruppe av felt1, felt2,… ,, Fieldn;

Her, sammendragsverdien av FieldX Kolonnen vil bli beregnet basert på kolonnene nevnt på gruppen BY -klausulen.

Liste over MySQL Aggregate Functions:

Aggregatfunksjon Beskrivelse
TELLE() Det brukes til å telle det totale antallet rader som er returnert.
Teller (distinkt) Det brukes til å telle det totale antallet unike rader som er returnert.
SUM() Det brukes til å beregne summen av eventuelle numeriske feltverdier.
Max () Det brukes til å finne ut maksimal verdi av et felt.
Min () Det brukes til å finne ut minimumsverdien til et felt.
Avg () Det brukes til å finne ut gjennomsnittsverdien til et felt.
Bit_or () Det brukes til å returnere bitmessig eller verdien av et felt.
Bit_and () Det brukes til å returnere bitmessig og verdien av et felt.
Bit_xor () Det brukes til å returnere bitvaks XOR-verdien av et felt.
Group_concat () Det brukes til å returnere den sammenkoblede verdien av et felt.
Json_arrayagg () Det brukes til å returnere en JSON -utvalg av en feltverdi.
JSON_OBJECTAGG () Det brukes til å returnere et JSON -objekt av en feltverdi.
Std () Det brukes til å returnere befolkningsstandardavviket.
STDDEV () Det brukes til å returnere befolkningsstandardavviket.
STDDEV_POP () Det brukes til å returnere befolkningsstandardavviket.
STDDEV_SAMP () Det brukes til å returnere prøvestandardavviket.
Var_pop () Det brukes til å returnere populasjonsstandardvariansen.
Var_samp () Det brukes til å returnere prøvevariansen.
FORSKJELL() Det brukes til å returnere populasjonsstandardvariansen.

Lag to relaterte tabeller som heter selger og Salg Ved å kjøre følgende Opprett uttalelser. Disse to tabellene er relatert av id innen selger bord og SALGERS_ID innen Salg bord.

Lag bordsalg (
id int (5) Auto_increment primærnøkkel,
Navn varchar (50) ikke null,
mobil_no varchar (50) ikke null,
området varchar (50) ikke null,
E -post varchar (50) ikke null) motor = innodb;
Lag bordsalg (
id int (11) auto_increment primærnøkkel
Sales_date dato,
Salger_id int (5) Ikke null,
Beløp int (11),
Utenlandsk nøkkel (Salger_id) Referanser Selger (ID))
Motor = innodb;
# Sett inn noen poster i begge tabellene ved å kjøre følgende innsatsuttalelser.
Sett inn selgerverdier
(Null, 'Jony', '0176753325', 'California', '[email protected] '),
(Null, 'Janifer', '0178393995', 'Texas', '[email protected] '),
(Null, 'Jubair', '01846352443', 'Florida', '[email protected] '),
(Null, 'Albert', '01640000344', 'Texas', '[email protected] ');
Sett inn salgsverdier
(Null, '2020-02-11', 1, 10000),
(Null, '2020-02-23', 3, 15000),
(Null, '2020-03-06', 4, 7000),
(Null, '2020-03-16', 2, 9000),
(Null, '2020-03-23', 3, 15000),
(Null, '2020-03-25', 4, 7000),
(Null, '2020-03-27', 2, 8000),
(Null, '2020-03-28', 4, 5000),
(Null, '2020-03-29', 2, 3000),
(NULL, '2020-03-30', 3, 7000);

Kjør nå følgende utsagn for å sjekke postene til begge selger og Salg bord.

Velg * fra selgeren; Velg * fra salg;

Bruken av noen ofte brukte aggregatfunksjoner vises i neste del av denne artikkelen.

Bruk av count () -funksjon:

Selgerbord inneholder områdemessig selgerinformasjon. Hvis du vil vite det totale antallet til selger i hvert område, kan følgende SQL -setning brukes. Det vil telle det totale antallet selger fra selger Bordgruppe av område.

Velg område som by, Count (*) som 'Total Sales Person'
Fra selger
Gruppe etter område;

Følgende utgang vises i henhold til tabelldataene.

Bruk av sum () -funksjon:

Når det kreves å vite det totale salgsbeløpet til hver selger, kan følgende SQL -uttalelse brukes til å finne ut det totale salgsbeløpet med navnet på hver selger fra selger og Salg Tabell ved hjelp av sum () -funksjon. 'SALGERS_ID'av Salg Tabell brukes her til gruppering.

Velg selger.navn, sum (beløp) som 'total salg'
Fra selger, salg
Hvor selger.ID = salg.SALGERS_ID
Gruppe etter salg.Salger_id;

Følgende utdata vises etter å ha kjørt ovennevnte uttalelse. Det er fire selgere i selger Tabell og produksjonen viser det totale salget beløp for hver selger.

Bruk av maks () funksjon:

Når det kreves å finne ut det månedlige maksimale salget basert på hver selger, kan følgende SQL -uttalelse brukes til å få produksjonen. Her brukes måned () -funksjonen til å identifisere hver måned og maks () -funksjon brukes til å finne ut den maksimale mengdeverdien for hver måned fra Salg bord.

Velg måned (salg.Sales_date) som måned, maks (beløp) som 'maksimal salg',
selger.Navn som 'salgsperson'
Fra selger, salg
Hvor selger.ID = salg.SALGERS_ID
Gruppe etter måned (salg.Sales_date), selger.Navn ;

Følgende utgang vises etter å ha kjørt uttalelsen.

Bruk av Group_Concat () -funksjon:

Når det vil kreve å finne ut det totale salgsbeløpet basert på hver måned ved å nevne hvert unikt salgsbeløp på hver måned, kan følgende SQL -setning brukes. Her brukes måned () -funksjonen til å lese månedlige salgsbeløpsverdier basert på Sales_date og group_concat () -funksjon brukes til å telle det månedlige salgsbeløpet.

Velg måned (salg.Sales_date) som måned, group_concat (beløp) som salg,
Sum (beløp) som 'total salg'
Fra salgsgruppe for måned (salg.Sales_date);

Følgende utgang vises etter å ha kjørt uttalelsen.

Konklusjon:

Aggregatefunksjoner hjelper MySQL -brukere med å finne ut de forskjellige typer sammendragsdata enkelt ved å skrive en enkel spørring. Bruken av fire nyttige samlede funksjoner blir forklart i denne artikkelen for å hjelpe leserne å vite hvordan samlede funksjoner som brukes i MySQL.