写一段oracle代码,先求出2022年1月至3月数据合计,再求出去年同期数据合计,计算同比增长
时间: 2023-12-08 18:04:09 浏览: 25
以下是一个示例Oracle代码,用于计算2022年1月至3月数据合计和去年同期数据合计,并计算同比增长率:
```
-- 计算2022年1月至3月数据合计
SELECT SUM(amount) AS current_year_total
FROM my_table
WHERE date_column BETWEEN TO_DATE('2022-01-01', 'YYYY-MM-DD') AND TO_DATE('2022-03-31', 'YYYY-MM-DD');
-- 计算去年同期数据合计
SELECT SUM(amount) AS last_year_total
FROM my_table
WHERE date_column BETWEEN TO_DATE('2021-01-01', 'YYYY-MM-DD') AND TO_DATE('2021-03-31', 'YYYY-MM-DD');
-- 计算同比增长率
SELECT ROUND((current_year_total - last_year_total) / last_year_total * 100, 2) AS growth_rate
FROM (
SELECT SUM(amount) AS current_year_total
FROM my_table
WHERE date_column BETWEEN TO_DATE('2022-01-01', 'YYYY-MM-DD') AND TO_DATE('2022-03-31', 'YYYY-MM-DD')
) c, (
SELECT SUM(amount) AS last_year_total
FROM my_table
WHERE date_column BETWEEN TO_DATE('2021-01-01', 'YYYY-MM-DD') AND TO_DATE('2021-03-31', 'YYYY-MM-DD')
) l;
```
在上面的示例中,我们首先使用两个SELECT语句计算2022年1月至3月数据合计和去年同期数据合计。然后,我们使用一个SELECT语句计算同比增长率。在这个查询中,我们使用子查询计算当前年份和去年同期的数据总和,并将结果存储在称为c和l的临时表中。最后,我们使用这些值来计算同比增长率,并使用ROUND函数将其保留为两个小数位。请注意,您需要根据您的具体情况修改查询中的列和表名。