SQL GROUP BY -lause on tehokas työkalu tietojen ryhmittelyyn ja yhdistämiseen. Se tarjoaa erinomaisen tavan ryhmitellä tiedot tiettyjen kriteerien perusteella ja sitten suorittaa toiminto tuloksena oleville ryhmille.
Yksi yleinen GROUP BY:n käyttötapa on ryhmittely päivämäärän mukaan. Tässä opetusohjelmassa opimme GROUP BY -lauseen kanssa työskentelyn perusteet ja keskustelemme siitä, kuinka sitä käytetään tietojen ryhmittelyyn päivämäärän mukaan SQL:ssä.
HUOMAUTUS: Oletamme, että sinulla on perustiedot SQL:stä. Esittelytarkoituksiin käytämme tämän opetusohjelman esimerkkejä MySQL 8:n kanssa. Voit kuitenkin siirtää tämän opetusohjelman käsitteet vapaasti muihin SQL-pohjaisiin tietokantakoneisiin.
Esimerkkitaulukko:
Ensimmäinen askel on perustaa perustaulukko ja näytetiedot esittelyä varten. Jos sinulla on olemassa oleva pöytä, jonka kanssa haluat työskennellä, ohita tämä osio.
Luo taulukko käyttämällä seuraavaa kyselyä:
LUO TABLE-tapahtumat (
id int not null auto_increment ensisijainen avain,
Päivämäärä PÄIVÄMÄÄRÄ,
määrä DECIMAL ( 10 , 2 )
) ;
Kun olet luonut taulukon, lisää esimerkkitiedot seuraavan kuvan mukaisesti:
ARVOT
( '2023-01-01' , 100.00 ) ,
( '2023-01-02' , 50.00 ) ,
( '2023-01-03' , 75.00 ) ,
( '2023-01-04' , 200.00 ) ,
( '2023-01-05' , 150,00 ) ,
( '2023-01-06' , 175.00 ) ,
( '2023-01-07' , 50.00 ) ,
( '2023-01-08' , 100.00 ) ,
( '2023-01-09' , 25.00 ) ,
( '2023-01-10' , 75.00 ) ,
( '2023-01-11' , 150,00 ) ,
( '2023-01-12' , 200.00 ) ,
( '2023-01-13' , 250,00 ) ,
( '2023-01-14' , 175,00 ) ,
( '2023-01-15' , 150,00 ) ,
( '2023-01-16' , 100.00 ) ,
( '2023-01-17' , 50.00 ) ,
( '2023-01-18' , 75.00 ) ;
Tämän pitäisi lisätä satunnaiset tiedot tapahtumataulukkoon. Voimme käyttää select-lausetta näyttämään tuloksena olevan taulukon seuraavasti:
valitse * liiketoimista;
Tulostaulukko:
Kun olemme saaneet tiedot valmiiksi, voimme siirtyä seuraavaan vaiheeseen.
SQL-ryhmä päivämäärän mukaan
Kuten voit arvata, käytämme GROUP BY -lausetta tietyn taulukon tietojen osiointiin tiettyjen arvojen perusteella. Lauseen syntaksi on seuraava:
VALITSE sarake1, sarake2, ...FROM taulukon_nimi
GROUP BY sarake1, sarake2, ...;
Edellisessä syntaksissa käytämme GROUP BY -lausetta määrittääksesi sarakkeet, joiden mukaan haluat ryhmitellä tiedot.
Edellisessä taulukossa voimme käyttää päivämääräsaraketta tietojen ryhmittelyyn seuraavan kyselyn mukaisesti:
VALITSE Päivämäärä , SUMMA ( määrä ) kuten kokonaismääräliiketoimista
GROUP BY Päivämäärä ;
Edellinen kysely suorittaa peruslaskelmat ja lisää kunkin päivän kokonaissumman summa()-funktiolla. Sitten ryhmittelemme tiedot päivämääräarvojen perusteella. Tuloksena oleva taulukko on seuraava:
Muotoilupäivämäärä
Joskus meidän on ehkä muotoiltava päivämäärä ja tehtävä siitä luettavampi. Esimerkki on seuraava:
VALITSE DATE_FORMAT ( Päivämäärä , %m/%d/%Y ) kuten muotoiltu_päivämäärä, SUMMA ( määrä ) kuten kokonaismääräliiketoimista
GROUP BY Päivämäärä ;
Tämän pitäisi palauttaa päivämääräarvot määritetyssä muodossa seuraavasti:
SQL-suodattimen päivämääräalue
Voimme myös suodattaa tuloksen ajanjakson mukaan käyttämällä WHERE-lausetta. Esimerkki on seuraava:
VALITSE DATE_FORMAT ( Päivämäärä , %m/%d/%Y ) kuten muotoiltu_päivämäärä, SUMMA ( määrä ) kuten kokonaismääräliiketoimista
MISSÄ Päivämäärä VÄLILLÄ '2023-01-01' JA '2023-01-15'
GROUP BY Päivämäärä ;
Tuloksena oleva taulukko on esitetty seuraavassa:
Siinä se on! Tapa ryhmitellä tietyn taulukon tiedot päivämääräarvojen perusteella.
Johtopäätös
Tässä opetusohjelmassa tutkittiin perusasiat SQL:n GROUP BY -lauseen kanssa tietojen lajittelemiseksi tiettyjen arvojen perusteella. Tämä antoi meille mahdollisuuden käsitellä GROUP BY -lauseketta tietojen jakamiseen päivämääräarvojen perusteella.