Skupina SQL podle data

Skupina Sql Podle Data



Klauzule SQL GROUP BY je výkonný nástroj pro seskupování a agregaci dat. Poskytuje vynikající způsob, jak seskupovat data na základě specifických kritérií a poté provést akci na výsledných skupinách.

Jedním z běžných případů použití pro GROUP BY je seskupování podle dat. V tomto tutoriálu se naučíme základy práce s klauzulí GROUP BY a probereme, jak ji použít k seskupení dat podle dat v SQL.







POZNÁMKA: Předpokládáme, že máte základní znalosti jazyka SQL. Pro demonstrační účely používáme příklady v tomto kurzu s MySQL 8. Koncepty tohoto kurzu však můžete volně přenést na jiné databázové stroje založené na SQL.



Vzorová tabulka:

Prvním krokem je nastavení základní tabulky a ukázkových dat pro demonstraci. Pokud máte existující tabulku, se kterou chcete pracovat, tuto sekci můžete přeskočit.



Chcete-li vytvořit tabulku, použijte následující dotaz:





Transakce CREATE TABLE (
id int není null primární klíč auto_increment,
datum DATUM,
částka DECIMAL ( 10 , 2 )
) ;


Po vytvoření tabulky vložte ukázková data, jak je znázorněno v následujícím:

VLOŽIT DO transakcí ( datum , částka )
HODNOTY
( '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 ) ;


To by mělo přidat náhodná data do tabulky transakcí. Můžeme použít příkaz select k zobrazení výsledné tabulky takto:



vybrat * z transakcí;


Výstupní tabulka:


Jakmile máme připravená data, můžeme přistoupit k dalšímu kroku.

Skupina SQL podle data

Jak můžete hádat, používáme klauzuli GROUP BY k rozdělení dat v dané tabulce na základě konkrétních hodnot. Syntaxe klauzule je následující:

VYBRAT sloupec1, sloupec2, ...
FROM název_tabulky
GROUP BY sloupec1, sloupec2, ...;


V předchozí syntaxi používáme klauzuli GROUP BY k určení sloupců, podle kterých chcete data seskupit.

Z předchozí tabulky můžeme použít sloupec data k seskupení dat, jak je znázorněno v následujícím dotazu:

VYBRAT datum , SOUČET ( množství ) tak jako Celková částka
Z transakcí
SKUPINA VYTVOŘENÁ datum ;


Předchozí dotaz provede základní výpočty a sečte celkovou částku za každý den pomocí funkce sum(). Data pak seskupujeme na základě hodnot data. Výsledná tabulka je následující:

Formát Datum

Někdy můžeme potřebovat formátovat datum a zajistit, aby bylo čitelnější. Příklad je následující:

VYBERTE FORMÁT DATA ( datum , '%m/%d/%Y' ) tak jako formatted_date, SUM ( množství ) tak jako Celková částka
Z transakcí
SKUPINA VYTVOŘENÁ datum ;


To by mělo vrátit hodnoty data v zadaném formátu takto:

Rozsah dat filtru SQL

Můžeme také filtrovat sadu výsledků podle časového rozsahu pomocí klauzule WHERE. Příklad je následující:

VYBERTE FORMÁT DATA ( datum , '%m/%d/%Y' ) tak jako formatted_date, SUM ( množství ) tak jako Celková částka
Z transakcí
KDE datum MEZI '2023-01-01' A '2023-01-15'
SKUPINA VYTVOŘENÁ datum ;


Výsledná tabulka je uvedena v následujícím textu:


Tady to máš! Způsob, jak seskupit data z dané tabulky na základě hodnot data.

Závěr

Tento výukový program prozkoumal základy práce s klauzulí GROUP BY v SQL pro třídění dat na základě konkrétních hodnot. To nám umožnilo pokrýt, jak používat klauzuli GROUP BY k rozdělení dat na základě hodnot data.