首页 > 解决方案 > 如何在sql查询中从起始年份获取每年的金额

问题描述

我需要一个查询来获得从合同开始日期起每年的总金额。

例如:如果合同于 2018 年开始并于 2020 年结束,那么我需要在选择查询中每年的到期金额总和。

select annual_amount_1,annual_amuont2_annual_amount_3
from dual..


Here i need o/p in annual_amount_1 as-> sum(due_amount_in 2018)
                   annual_amount_2 as-> sum(due_amount_in 2019)
                   annual_amount_3 as-> sum(due_amount_in 2020)

如何在选择查询中实现这一点

标签: sqloracle

解决方案


create table t1 (
d DATE,
a NUMBER
);

INSERT into t1 (d, a) VALUES (DATE '2020-08-01', 22);

INSERT into t1 (d, a) VALUES (DATE '2020-09-01', 42);

INSERT into t1 (d, a) VALUES (DATE '2021-08-01', 111);

INSERT into t1 (d, a) VALUES (DATE '2021-09-01', 222);


SELECT to_char(d, 'YYYY') as year, SUM(a) sum from t1
GROUP by  to_char(d, 'YYYY')
Order by  to_char(d, 'YYYY')


推荐阅读