SQL csoportosítás dátum szerint

Sql Csoportositas Datum Szerint



Az SQL GROUP BY záradék hatékony eszköz az adatok csoportosítására és összesítésére. Kiváló módot biztosít az adatok meghatározott kritériumok alapján történő csoportosítására, majd a kapott csoportokon művelet végrehajtására.

A GROUP BY egyik gyakori felhasználási esete a dátumok szerinti csoportosítás. Ebben az oktatóanyagban megismerjük a GROUP BY záradékkal való munka alapjait, és megbeszéljük, hogyan használhatjuk fel az adatok dátum szerinti csoportosítására SQL-ben.







JEGYZET: Feltételezzük, hogy rendelkezik alapvető ismeretekkel az SQL-ről. Demonstrációs célokra az oktatóanyagban szereplő példákat a MySQL 8-al használjuk. Ennek az oktatóanyagnak a koncepcióit azonban szabadon áthelyezheti a többi SQL-alapú adatbázis-motorra.



Minta táblázat:

Az első lépés egy alaptábla és mintaadatok felállítása a demonstrációhoz. Ha van egy meglévő táblázata, amellyel dolgozni szeretne, nyugodtan hagyja ki ezt a részt.



A táblázat létrehozásához használja a következő lekérdezést:





TÁBLÁZAT-tranzakciók létrehozása (
id int nem null auto_increment elsődleges kulcs,
dátum DÁTUM,
összeg Tizedes ( 10 , 2 )
) ;


A táblázat létrehozása után illessze be a mintaadatokat az alábbiak szerint:

INSERT INTO tranzakciók ( dátum , összeg )
ÉRTÉKEK
( '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 ) ;


Ezzel hozzá kell adni a véletlenszerű adatokat a tranzakciós táblához. A select utasítással a következőképpen jeleníthetjük meg a kapott táblázatot:



válassza ki * tranzakciókból;


Kimeneti táblázat:


Miután elkészítettük az adatokat, folytathatjuk a következő lépést.

SQL csoportosítás dátum szerint

Amint azt sejtheti, a GROUP BY záradékot használjuk egy adott tábla adatainak meghatározott értékek alapján történő particionálására. A záradék szintaxisa a következő:

SELECT oszlop1, oszlop2, ...
FROM tábla_neve
GROUP BY oszlop1, oszlop2, ...;


Az előző szintaxisban a GROUP BY záradékot használjuk annak meghatározására, hogy mely oszlopok alapján szeretné csoportosítani az adatokat.

Az előző táblázatból a dátum oszlopot használhatjuk az adatok csoportosítására a következő lekérdezés szerint:

KIVÁLASZTÁS dátum , SUM ( összeg ) mint teljes összeg
A tranzakciókból
CSOPORTOSÍT dátum ;


Az előző lekérdezés elvégzi az alapvető számításokat, és a sum() függvény segítségével minden napra összeadja a teljes összeget. Ezután csoportosítjuk az adatokat a dátumértékek alapján. Az eredményül kapott táblázat a következő:

Dátum formázása

Néha előfordulhat, hogy formázni kell a dátumot, és olvashatóbbá kell tennünk. Egy példa a következő:

DATE_FORMAT KIVÁLASZTÁS ( dátum , „%m/%d/%Y” ) mint formatted_date, SUM ( összeg ) mint teljes összeg
A tranzakciókból
CSOPORTOSÍT dátum ;


Ennek vissza kell adnia a dátumértékeket a megadott formátumban, az alábbiak szerint:

SQL-szűrő dátumtartomány

A WHERE záradék segítségével dátumtartomány szerint is szűrhetjük az eredményt. Egy példa a következő:

DATE_FORMAT KIVÁLASZTÁS ( dátum , „%m/%d/%Y” ) mint formatted_date, SUM ( összeg ) mint teljes összeg
A tranzakciókból
AHOL dátum KÖZÖTT '2023-01-01' ÉS '2023-01-15'
CSOPORTOSÍT dátum ;


Az eredményül kapott táblázat az alábbiakban látható:


Tessék, itt van! Egy adott táblázat adatainak dátumértékek alapján történő csoportosításának módja.

Következtetés

Ez az oktatóanyag feltárta az SQL GROUP BY záradékával való munka alapjait az adatok meghatározott értékek alapján történő rendezéséhez. Ez lehetővé tette számunkra, hogy kitérjünk arra, hogyan használhatjuk a GROUP BY záradékot az adatok dátumértékek alapján történő felosztására.