Syntaks:
Rollup brukes til å lage en gruppe kolonner. Så enhver samlet funksjon av MySQL og Group BY -klausul brukes i SELECT -spørringen der opprullingen brukes. Syntaksen til opprullingen vises nedenfor. Feltnavnene på tabellen som skal brukes etter valgklausulen vil bli brukt med gruppen etter klausul for gruppering.
Velg Field1, Field2 AggregateFunction (Field3)Bruk av rollup -setning i SELECT -spørring:
Ulike bruksområder for rollup -setningen med gruppen BY -klausulen i SELECT -spørringen er vist i denne opplæringen.
Forutsetninger:
Du må opprette en databasetabell med data i en MySQL -database for å sjekke bruken av rollup -setningen med gruppen etter klausul i MySQL. Åpne terminalen og koble til MySQL -serveren ved å utføre følgende kommando.
$ sudo mysql -u rootKjør følgende kommando for å opprette en database som heter test_db.
Opprette databasetest_db;Kjør følgende kommando for å velge databasen.
Bruk test_db;Kjør følgende spørsmål for å opprette en tabell som heter Sales_persons med fire felt.
Lag tabell Sales_persons (Kjør følgende spørsmål for å sette inn tre poster i selger bord.
Sett inn 'Sales_persons' ('id', 'Navn', 'E -post', 'Contact_no') verdier (null, 'Kamal Hasan', '[email protected] ',' 0191275634 '),Kjør følgende spørsmål for å opprette en tabell som heter Salg med fire felt som inneholder en fremmed nøkkel som skaper et en-til-mange forhold til Sales_persons bord til Salg bord.
Lag bordsalg (Kjør følgende spørsmål for å sette inn fire poster i Salg bord.
Sett inn 'Sales' ('ID', 'Sales_date', 'Beløp', 'SP_ID') verdierEksempel-1: Opprett sammendragsrapport uten å bruke rollup-setning
Følgende valgte spørsmål vil beregne sammendragsrapporten om det totale salgsbeløpet til hver selger og det samlede salgsbeløpet for alt salg ved å bruke Union alle med to utvalgte spørsmål. Én valgt spørring vil hente selgerens navn og totalt salg av den selgeren. En annen spørring vil beregne salget av alle selgere. Utfør følgende spørsmål fra MySQL -ledeteksten.
Velg navn, sum (beløp) som totalProduksjon:
Følgende utdata vises etter utførelsen av spørringen ovenfor. Det er en post for selgeren som heter 'Abir Hossain' med ID -verdien 3 i Salg bord, og beløpet er 563400. Det er tre poster for selgeren som heter 'Kamal Hasan' med ID -verdien, 1 i salgstabellen, og det totale salgsbeløpet er 8400000. Summen av alt salgsbeløp er 563400+8400000 = 8963400.
Produksjon:
Følgende utdata vises etter utførelsen av spørringen ovenfor. Navnfeltet vil vise nullverdien for raden som inneholder det totale beløpet.
Eksempel-2: Bruk av opprulling med en felt- og sum () -funksjon
Utgangen som genereres i det forrige eksemplet kan enkelt genereres ved å bruke rollup -setningen som er vist i dette eksemplet. SELECT -spørringen som har blitt brukt til å telle det totale salgsbeløpet for alle selgere i forrige eksempel, er ikke nødvendig i følgende spørring på grunn av å bruke rollup -setningen. Navnfeltet til Salg Tabellen har blitt brukt med den samlede funksjonen i SELECT -spørringen. Gruppen BY -klausulen inneholder navnefeltet med rollup -setningen.
Velg navn, sum (beløp) som totalProduksjon:
Følgende utdata vises etter utførelsen av spørringen ovenfor. Som det forrige eksemplet, vil navnefeltet vise nullverdien for raden som inneholder det totale beløpet.
Eksempel-3: Bruk av rollup med år () -funksjon ved siden av summen () -funksjonen
Bruken av en hvilken som helst MySQL-innebygd funksjon med den samlede funksjonen for bruk. Følgende valgte spørsmål viser sammendragsrapporten om salgsbeløpet basert på salgsåret. Året () -funksjonen har blitt brukt i spørringen for å finne ut årets verdi fra salgsdatoen. I følge de innsatte dataene fra salgstabellen er det to oppføringer for 2020 og to oppføringer for året 2021.
Velg år (Sales_Date), Sum (beløp) som totalProduksjon:
Følgende utdata vises etter utførelsen av spørringen ovenfor. Det totale salgsbeløpet for året 2020 er 563400+6700000 eller 7263400. Det totale salgsbeløpet for året 2021 er 800000+900000 eller 1700000. Totalt 7263400+1700000 er 8963400.
Konklusjon:
Mange komplekse spørsmål kan enkelt implementeres ved å bruke rollup -setningen. Bruken av denne uttalelsen er vist ved å bruke flere tabeller i denne opplæringen for å hjelpe de nye MySQL -brukerne.