sql - 从每日数据中提取季度利润
问题描述
我的表中有以下列:
日期:格式为 YYYY-MM-DD
收入:代表当天收入的整数
成本:代表当天成本的整数
我需要找到一种方法将日期分组为季度并找出该季度的利润。利润只是该季度每一天的收入和成本之间所有差异的总和(省略原始表格中未列出的季度):
第一季度:1 月 1 日 - 3 月 31 日
第二季度:4 月 1 日 - 6 月 30 日
第三季度:7 月 1 日 - 9 月 30 日
第四季度:10 月 1 日 - 12 月 31 日
假设原始表如下:
日期 | 收入 | 成本 |
---|---|---|
2021-02-05 | 100 | 10 |
2021-02-06 | 50 | 10 |
2021-12-05 | 0 | 10 |
2021-12-06 | 0 | 10 |
我想生成下表:
年 | 四分之一 | 利润 |
---|---|---|
2021 | 第一季度 | 130 |
2021 | 第四季度 | -20 |
解决方案
您可以使用以下内容:
SELECT
EXTRACT(YEAR FROM "Date") as "Year",
'Q'||EXTRACT(QUARTER FROM "Date") as "Quarter",
SUM("Revenue"-"Cost") as "Profit"
FROM
my_table
GROUP BY
1,2
ORDER BY
1,2;
年 | 四分之一 | 利润 |
---|---|---|
2021 | 第一季度 | 130 |
2021 | 第四季度 | -20 |
让我知道这是否适合您。
推荐阅读
- java - 从Java中的数组中选择条目
- python - 以浮点数转换日期时间格式
- javascript - 创建动态div以拖放元素时无法删除元素
- ios - 带有 firebase pushnotifications 的苹果应用程序最小示例
- wordpress - 如何在 wordpress 中设置 dropzonejs 变量
- python - 在熊猫中查找先前匹配的单元格的索引
- algorithm - 切换待办事项时计算项目进度
- javascript - 更改 grafana 邮件警报中的数据类型
- mysql - 如何根据登录 mysql 和 codeigniter 的用户在 mysql 中显示数据?
- python-3.x - python中正确的api响应错误处理