Sql 上期
我想用同一张表来计算年变化率。 比如,Sql 上期,sql,oracle,Sql,Oracle,我想用同一张表来计算年变化率。 比如, T Value 31.12.2019 30 31.12.2018 45 31.12.2017 20 31.12.2016 36 T-T-1/T-1。2018年=45-20/20 我的表中有客户ıd、条款和价值。如果我理解正确: select * ,(Value - PrvValue) / PrvValue as changeRate ( select * , LAG(Value,
T Value
31.12.2019 30
31.12.2018 45
31.12.2017 20
31.12.2016 36
T-T-1/T-1。2018年=45-20/20
我的表中有客户ıd、条款和价值。如果我理解正确:
select * ,(Value - PrvValue) / PrvValue as changeRate
(
select * , LAG(Value,1,Value) over (order by T)) PrvValue
from yourtable
) tt
您可以确定CTE中以前的值和当前值,然后在主查询中使用它们:
WITH cteSome_table
AS (SELECT T,
VALUE,
LAG(VALUE, 1, VALUE) OVER (ORDER BY T) AS PREV_VALUE
FROM SOME_TABLE)
SELECT T,
(VALUE - PREV_VALUE) / PREV_VALUE
FROM cteSome_table
ORDER BY T
我认为这更容易阅读和理解。我感到困惑。你的桌子是什么样子的?你想要什么结果?同时标记您正在使用的数据库。我正在使用oracle,必须有周期性的更改率。如何显示我的表格,有客户、条款、价值观。您显示了一个表,但它没有这些列。