SQL-i rühmitamine kuupäeva järgi

Sql I Ruhmitamine Kuupaeva Jargi



SQL GROUP BY klausel on võimas tööriist andmete rühmitamiseks ja koondamiseks. See on suurepärane viis andmete rühmitamiseks konkreetsete kriteeriumide alusel ja seejärel saadud rühmadega toimingute tegemiseks.

Üks levinud GROUP BY kasutusjuht on kuupäevade järgi rühmitamine. Selles õpetuses õpime GROUP BY klausliga töötamise põhialuseid ja arutame, kuidas seda kasutada andmete rühmitamiseks SQL-is kuupäevade järgi.







MÄRGE: Eeldame, et teil on SQL-i põhiteadmised. Demonstreerimiseks kasutame selle õpetuse näiteid MySQL 8-ga. Selle õpetuse kontseptsioone saate aga vabalt portida teistele SQL-põhistele andmebaasimootoritele.



Näidistabel:

Esimene samm on põhitabeli ja näidisandmete seadistamine demonstreerimiseks. Kui teil on olemasolev tabel, millega soovite töötada, jätke see jaotis vahele.



Tabeli koostamiseks kasutage järgmist päringut:





LOO TABEL tehingud (
id int not null primaarvõti auto_increment,
kuupäeva DATE,
summa KOMMEND ( 10 , 2 )
) ;


Kui olete tabeli loonud, sisestage näidisandmed, nagu on näidatud järgmiselt.

INSERT INTO tehingutesse ( kuupäeva , summa )
VÄÄRTUSED
( '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 ) ;


See peaks lisama juhuslikud andmed tehingute tabelisse. Saame saadud tabeli kuvamiseks kasutada avaldust Select järgmiselt:



vali * tehingutest;


Väljunditabel:


Kui oleme andmed ette valmistanud, saame jätkata järgmise sammuga.

SQL-i rühmitamine kuupäeva järgi

Nagu võite arvata, kasutame antud tabelis olevate andmete jaotamiseks konkreetsete väärtuste alusel klauslit GROUP BY. Klausli süntaks on järgmine:

VALI veerg1, veerg2, ...
FROM tabeli_nimi
GROUP BY veerg1, veerg2, ...;


Eelmises süntaksis kasutame klauslit GROUP BY, et määrata veerud, mille alusel soovite andmed rühmitada.

Eelmises tabelis saame andmete rühmitamiseks kasutada kuupäeva veergu, nagu on näidatud järgmises päringus:

VALI kuupäeva , SUMMA ( summa ) nagu kogu summa
tehingutest
GROUP BY kuupäeva ;


Eelmine päring teeb põhiarvutused ja lisab funktsiooni summa() abil iga päeva kogusumma. Seejärel rühmitame andmed kuupäevaväärtuste alusel. Saadud tabel on järgmine:

Kuupäeva vormindamine

Mõnikord peame võib-olla vormindama kuupäeva ja muutma selle loetavamaks. Näide on järgmine:

VALI DATE_FORMAT ( kuupäeva , '%m/%d/%Y' ) nagu vormindatud_kuupäev, SUM ( summa ) nagu kogu summa
tehingutest
GROUP BY kuupäeva ;


See peaks tagastama kuupäeva väärtused määratud vormingus järgmiselt:

SQL-filtri kuupäevavahemik

Samuti saame tulemuse WHERE-klausli abil filtreerida kuupäevavahemiku järgi. Näide on järgmine:

VALI DATE_FORMAT ( kuupäeva , '%m/%d/%Y' ) nagu vormindatud_kuupäev, SUM ( summa ) nagu kogu summa
tehingutest
KUS kuupäeva VAHEL '2023-01-01' JA '2023-01-15'
GROUP BY kuupäeva ;


Saadud tabel on näidatud järgmiselt:


Siin on see! Võimalus rühmitada andmeid antud tabelist kuupäevaväärtuste alusel.

Järeldus

Selles õpetuses uuriti SQL-i klausliga GROUP BY töötamise põhialuseid, et sortida andmeid konkreetsete väärtuste alusel. See võimaldas meil käsitleda, kuidas kasutada klauslit GROUP BY andmete jagamiseks kuupäevaväärtuste alusel.