我有一个包含日期列的表。
+-----------+-------+
| Date | xx |
+-----------+-------+
| 6/29/2020 | 45 |
| 3/6/2018 | 89 |
| 6/30/2020 | 69 |
| 5/6/2019 | 45 |
| 5/12/2019 | 89 |
| 6/4/2019 | 72 |
| 4/27/2019 | 69 |
| 6/29/2020 | 48 |
| 6/30/2020 | 36 |
| 6/4/2019 | 57 |
+-----------+-------+我需要从这个列中提取月份和年份,并添加为2个单独的列,并通过'xx‘的总和总结。
+------+-------+-----+
| Year | Month | Sums|
+------+-------+-----+
| 2018 | 3 | 89 |
| 2019 | 4 | 69 |
| 2019 | 5 | 134 |
| 2019 | 6 | 129 |
| 2020 | 6 | 198 |
+------+-------+-----+我在下面试过了,但没有按年和按月进行总结。
select extract(month from datee), extract(year from datee), sum(xx) sums from table1
group by datee发布于 2020-08-02 15:58:30
看,我运行这个查询select extract(month from col) from table1;,它可以工作。在您的查询列中有一个名称'datee‘。你确定这是对的吗?此外,如果您的表/列名称包含大写字母,则需要将其放在单引号'‘之间。
发布于 2020-08-02 16:31:51
您需要按提取的年份和月份进行分组,而不是按“原始”日期进行分组:
SELECT EXTRACT(MONTH FROM datee), EXTRACT(YEAR FROM datee), SUM(xx) sums
FROM table1
GROUP BY EXTRACT(MONTH FROM datee), EXTRACT(YEAR FROM datee)发布于 2020-08-02 16:55:32
这里的目标是将date转换为所需的group by格式-在本例中为年-月。
select to_char(datee, 'YYYY-MM'), sum(counter) from date_mon_y group by to_char(datee, 'YYYY-MM');https://stackoverflow.com/questions/63213609
复制相似问题