首页 > 解决方案 > 从每日数据中提取季度利润

问题描述

我的表中有以下列:

  1. 日期:格式为 YYYY-MM-DD

  2. 收入:代表当天收入的整数

  3. 成本:代表当天成本的整数

我需要找到一种方法将日期分组为季度并找出该季度的利润。利润只是该季度每一天的收入和成本之间所有差异的总和(省略原始表格中未列出的季度):

第一季度: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

标签: sqlpostgresql

解决方案


您可以使用以下内容:

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

在 DB Fiddle 上查看工作演示

让我知道这是否适合您。


推荐阅读