小编典典

使用sql确定数据集的变化率

sql

假设我有一个包含以下数据的表:

day1 item1 30
day1 item2 25
day1 item3 27
day2 item1 30
day2 item2 30
day2 item3 20

dayN item1 20

我将如何构造一个查询,该查询可以为我提供每个项目每天的变化率。

day1 item1 rateOfChange:0
day1 item2 rateOfChange:-1
day1 item3 rateOfChange:5
day2 item1 rateOfChange:0
day2 item2 rateOfChange:2

我的初始想法(不必太了解sql)将遍历每一天,并有一个子查询来检查每个项目的前一天,有什么区别吗?

谢谢


阅读 191

收藏
2021-04-22

共1个答案

小编典典

如果您的表被称为带有日期,项目和值整数列的数据表,则可能会这样做

SELECT t1.day, t1.item, (t2.value - t1.value) as rate
FROM datatable t1
INNER JOIN datatable t2
ON t1.item = t2.item 
AND t1.day + 1 = t2.day
2021-04-22