Tạo bảng mua hàng
mysql> CREATE TABLE DemoTable1415 (
-> ProductPurchaseDate DATE,
-> ProductPrice INT
-> );
INSERT INTO DemoTable1415 VALUES
('2019-01-12',560),('2018-01-14',1060),('2017-03-21',780),('2016-09-01',800),('2019-01-14',100);
Dữ liệu
mysql> SELECT * FROM DemoTable1415;
+---------------------+--------------+
| ProductPurchaseDate | ProductPrice |
+---------------------+--------------+
| 2019-01-12 | 560 |
| 2018-01-14 | 1060 |
| 2017-03-21 | 780 |
| 2016-09-01 | 800 |
| 2019-01-14 | 100 |
+---------------------+--------------+
Truy vấn: EXTRACT(MONTH) và GROUP BY tháng
mysql> SELECT EXTRACT(MONTH FROM ProductPurchaseDate) AS month,
-> SUM(ProductPrice) AS total_value
-> FROM DemoTable1415
-> GROUP BY month;
Kết quả: Tổng giá trị tháng 1, 3, 9 (gộp cả năm)
+-------+-------------+
| month | total_value |
+-------+-------------+
| 1 | 1720 |
| 3 | 780 |
| 9 | 800 |
+-------+-------------+
Lưu ý: EXTRACT(MONTH FROM date) trả về 1-12. Nhóm theo tháng sẽ gộp các năm khác nhau cùng tháng. Muốn phân biệt năm: GROUP BY EXTRACT(YEAR_MONTH FROM date) hoặc GROUP BY YEAR(date), MONTH(date).