ใช้ 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 หากข้อมูลข้ามหลายปี