Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

คิวรี่ MySQL หาผลรวมตามเดือน

ใช้ GROUP BY MONTH() รวมยอดตามเดือน

สร้างตารางและเพิ่มข้อมูล

mysql> create table DemoTable1628 ( PurchaseDate date, Amount int ); 
Query OK, 0 rows affected (1.55 sec)
mysql> insert into DemoTable1628 values('2019-01-10',1500); 
Query OK, 1 row affected (0.68 sec) 
mysql> insert into DemoTable1628 values('2019-10-10',2000); 
Query OK, 1 row affected (0.61 sec) 
mysql> insert into DemoTable1628 values('2019-10-24',100); 
Query OK, 1 row affected (0.20 sec) 
mysql> insert into DemoTable1628 values('2019-11-10',500); 
Query OK, 1 row affected (0.17 sec) 
mysql> insert into DemoTable1628 values('2019-12-10',1600); 
Query OK, 1 row affected (0.32 sec) 
mysql> insert into DemoTable1628 values('2019-10-10',900); 
Query OK, 1 row affected (0.47 sec)

คิวรี่รวมยอดตามเดือนและปี

mysql> select month(PurchaseDate) as Month, year(PurchaseDate) as Year, SUM(Amount) 
    -> from DemoTable1628 
    -> group by month(PurchaseDate);

ผลลัพธ์

+-------+------+-------------+ 
| Month | Year | SUM(Amount) | 
+-------+------+-------------+ 
|     1 | 2019 |        1500 | 
|    10 | 2019 |        3000 | 
|    11 | 2019 |         500 | 
|    12 | 2019 |        1600 | 
+-------+------+-------------+ 
4 rows in set (0.20 sec)

เดือน 10 มี 3 เรคคอร์ด รวม 2000+100+900=3000 | ควร GROUP BY ทั้ง YEAR และ MONTH หากข้อมูลข้ามหลายปี