SQL Group ayon sa Petsa

Sql Group Ayon Sa Petsa



Ang SQL GROUP BY clause ay isang makapangyarihang tool para sa pagpapangkat at pagsasama-sama ng data. Nagbibigay ito ng mahusay na paraan ng pagpapangkat ng data batay sa partikular na pamantayan at pagkatapos ay magsagawa ng aksyon sa mga resultang grupo.

Ang isang karaniwang kaso ng paggamit para sa GROUP BY ay ang pagpapangkat ayon sa mga petsa. Sa tutorial na ito, matututunan natin ang mga batayan ng pagtatrabaho sa GROUP BY clause at talakayin kung paano ito gamitin upang pagpangkatin ang data ayon sa mga petsa sa SQL.







TANDAAN: Ipinapalagay namin na mayroon kang pangunahing pag-unawa sa SQL. Para sa mga layunin ng pagpapakita, ginagamit namin ang mga halimbawa sa tutorial na ito sa MySQL 8. Gayunpaman, maaari mong malayang i-port ang mga konsepto ng tutorial na ito sa iba pang mga SQL-based na database engine.



Halimbawang Talahanayan:

Ang unang hakbang ay ang mag-set up ng pangunahing talahanayan at sample ng data para sa pagpapakita. Kung mayroon kang umiiral na talahanayan na nais mong gamitin, huwag mag-atubiling laktawan ang seksyong ito.



Upang lumikha ng talahanayan, gamitin ang sumusunod na query:





GUMAWA ng mga transaksyon sa TABLE (
id int hindi null auto_increment primary key,
petsa DATE,
halagang DECIMAL ( 10 , 2 )
) ;


Sa sandaling lumikha ka ng talahanayan, ipasok ang sample na data tulad ng ipinapakita sa sumusunod:

INSERT IN TO transactions ( petsa , dami )
MGA HALAGA
( '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 ) ;


Dapat itong idagdag ang random na data sa talahanayan ng mga transaksyon. Maaari naming gamitin ang piling pahayag upang ipakita ang resultang talahanayan tulad ng sumusunod:



pumili * mula sa mga transaksyon;


Talahanayan ng Output:


Kapag naihanda na namin ang data, maaari na kaming magpatuloy sa susunod na hakbang.

SQL Group ayon sa Petsa

Tulad ng maaari mong hulaan, ginagamit namin ang sugnay na GROUP BY upang hatiin ang data sa isang ibinigay na talahanayan batay sa mga partikular na halaga. Ang syntax ng sugnay ay ang mga sumusunod:

PUMILI ng column1, column2, ...
MULA sa table_name
GROUP BY column1, column2, ...;


Sa nakaraang syntax, ginagamit namin ang sugnay na GROUP BY para tukuyin ang mga column kung saan mo gustong pagpangkatin ang data.

Mula sa nakaraang talahanayan, maaari naming gamitin ang column ng petsa upang igrupo ang data tulad ng ipinapakita sa sumusunod na query:

PUMILI petsa , SUM ( halaga ) bilang kabuuang_halaga
MULA sa mga transaksyon
GROUP BY petsa ;


Ang nakaraang query ay nagsasagawa ng mga pangunahing kalkulasyon at nagdaragdag ng kabuuang halaga para sa bawat araw gamit ang sum() function. Pagkatapos ay pangkatin namin ang data batay sa mga halaga ng petsa. Ang resultang talahanayan ay ang mga sumusunod:

Petsa ng Format

Minsan, maaaring kailanganin nating i-format ang petsa at gawin itong mas nababasa. Ang isang halimbawa ay ang sumusunod:

PUMILI NG DATE_FORMAT ( petsa , '%m/%d/%Y' ) bilang formatted_date, SUM ( halaga ) bilang kabuuang_halaga
MULA sa mga transaksyon
GROUP BY petsa ;


Dapat nitong ibalik ang mga halaga ng petsa sa tinukoy na format tulad ng sumusunod:

Saklaw ng Petsa ng SQL Filter

Maaari rin naming i-filter ang resulta na itinakda ng isang hanay ng petsa gamit ang sugnay na WHERE. Ang isang halimbawa ay ang sumusunod:

PUMILI NG DATE_FORMAT ( petsa , '%m/%d/%Y' ) bilang formatted_date, SUM ( halaga ) bilang kabuuang_halaga
MULA sa mga transaksyon
SAAN petsa PAGITAN '2023-01-01' AT '2023-01-15'
GROUP BY petsa ;


Ang resultang talahanayan ay ipinapakita sa sumusunod:


Ayan na! Isang paraan upang pagpangkatin ang data mula sa isang ibinigay na talahanayan batay sa mga halaga ng petsa.

Konklusyon

Ginalugad ng tutorial na ito ang mga batayan ng pagtatrabaho sa GROUP BY clause sa SQL upang pagbukud-bukurin ang data batay sa mga partikular na halaga. Nagbigay-daan ito sa amin na saklawin kung paano gamitin ang sugnay na GROUP BY upang hatiin ang data batay sa mga halaga ng petsa.