SQL grupavimas pagal datą

Sql Grupavimas Pagal Data



SQL GROUP BY sąlyga yra galingas įrankis duomenims grupuoti ir kaupti. Tai puikus būdas sugrupuoti duomenis pagal konkrečius kriterijus ir tada atlikti veiksmus su gautomis grupėmis.

Vienas dažnas GROUP BY naudojimo atvejis yra grupavimas pagal datas. Šioje pamokoje išmoksime darbo su sąlyga GROUP BY pagrindus ir aptarsime, kaip jį naudoti SQL duomenų grupavimui pagal datas.







PASTABA: Manome, kad turite pagrindinius SQL supratimus. Demonstraciniais tikslais naudojame šioje mokymo programoje pateiktus pavyzdžius su MySQL 8. Tačiau galite laisvai perkelti šios pamokos sąvokas į kitus SQL pagrindu veikiančius duomenų bazių variklius.



Lentelės pavyzdys:

Pirmas žingsnis yra sukurti pagrindinę lentelę ir pavyzdinius duomenis demonstravimui. Jei turite lentelę, su kuria norite dirbti, nedvejodami praleiskite šį skyrių.



Norėdami sukurti lentelę, naudokite šią užklausą:





KURTI LENTELĖS sandorius (
id int not null auto_increment pirminis raktas,
data DATA,
suma DECIMAL ( 10 , 2 )
) ;


Sukūrę lentelę, įterpkite pavyzdinius duomenis, kaip parodyta toliau:

INSERT INTO sandorius ( data , suma )
VERTYBĖS
( „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 val ) ,
( „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 ) ;


Tai turėtų įtraukti atsitiktinius duomenis į operacijų lentelę. Galime naudoti pasirinkimo teiginį, norėdami parodyti gautą lentelę taip:



pasirinkite * iš sandorių;


Išvesties lentelė:


Paruošę duomenis, galime pereiti prie kito žingsnio.

SQL grupavimas pagal datą

Kaip galite atspėti, mes naudojame sąlygą GROUP BY, kad skirstytume duomenis pateiktoje lentelėje pagal konkrečias reikšmes. Sąlygos sintaksė yra tokia:

PASIRINKTI 1 stulpelį, 2 stulpelį...
FROM lentelės_pavadinimas
GROUP BY stulpelis1, stulpelis2, ...;


Ankstesnėje sintaksėje mes naudojame sąlygą GROUP BY, kad nurodytume stulpelius, pagal kuriuos norite grupuoti duomenis.

Ankstesnėje lentelėje galime naudoti datos stulpelį duomenims grupuoti, kaip parodyta šioje užklausoje:

PASIRINKTI data , SUMA ( suma ) kaip visas kiekis
IŠ sandorių
GRUPUOTI PAGAL data ;


Ankstesnė užklausa atlieka pagrindinius skaičiavimus ir prideda bendrą sumą kiekvienai dienai naudojant funkciją sum(). Tada sugrupuojame duomenis pagal datos reikšmes. Gauta lentelė yra tokia:

Formatavimo data

Kartais mums gali tekti suformatuoti datą ir padaryti ją skaitomesnę. Pavyzdys yra toks:

PASIRINKTI DATE_FORMAT ( data , „%m/%d/%Y“ ) kaip formatted_date, SUM ( suma ) kaip visas kiekis
IŠ sandorių
GRUPUOTI PAGAL data ;


Tai turėtų grąžinti datos reikšmes nurodytu formatu taip:

SQL filtro datų diapazonas

Taip pat galime filtruoti rezultatą pagal dienų seką, naudodami WHERE sąlygą. Pavyzdys yra toks:

PASIRINKTI DATE_FORMAT ( data , „%m/%d/%Y“ ) kaip formatted_date, SUM ( suma ) kaip visas kiekis
IŠ sandorių
KUR data TARP „2023-01-01“ IR „2023-01-15“
GRUPUOTI PAGAL data ;


Gauta lentelė parodyta taip:


Štai jūs tai turite! Būdas grupuoti duomenis iš nurodytos lentelės pagal datos reikšmes.

Išvada

Šioje pamokoje buvo nagrinėjami darbo su GROUP BY sąlyga SQL pagrindai, siekiant rūšiuoti duomenis pagal konkrečias reikšmes. Tai leido mums paaiškinti, kaip naudoti sąlygą GROUP BY, kad būtų galima padalyti duomenis pagal datos reikšmes.