如何使用MySQL按月汇总表格中的值?
为此,可以使用EXTRACT(),它允许您提取特定月份的记录。例如,要添加一月中的所有价格(不考虑年份)。
让我们首先创建一个表 –
mysql> create table DemoTable1415
-> (
-> ProductPurchaseDate date,
-> ProductPrice int
-> );
Query OK, 0 rows affected (0.53 sec)
使用插入将一些记录插入表中 –
mysql> insert into DemoTable1415 values('2019-01-12',560);
Query OK, 1 row affected (0.12 sec)
mysql> insert into DemoTable1415 values('2018-01-14',1060);
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable1415 values('2017-03-21',780);
Query OK, 1 row affected (0.11 sec)
mysql> insert into DemoTable1415 values('2016-09-01',800);
Query OK, 1 row affected (0.15 sec)
mysql> insert into DemoTable1415 values('2019-01-14',100);
Query OK, 1 row affected (0.16 sec)
使用select显示表中的所有记录 –
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 |
+---------------------+--------------+
5 行记录 (0.00 秒)
以下是按月汇总表格中值的查询语句 –
mysql> select extract(MONTH from ProductPurchaseDate) as month,sum(ProductPrice) as total_value from DemoTable1415
-> group by month;
这将产生以下输出 –
+-------+-------------+
| month | total_value |
+-------+-------------+
| 1 | 1720 |
| 3 | 780 |
| 9 | 800 |
+-------+-------------+
3 行记录(0.00 秒)
阅读更多:MySQL 教程
极客教程