【发布时间】:2020-10-14 14:31:16
【问题描述】:
我需要创建一个查询来定义不同版本的价格变化。 例如这是表格:
id | price | date| version
1 | 10 |2020-06-01| 1
1 | 15 |2020-06-12| 2
2 | 4 |2020-06-03| 1
2 | 5 |2020-06-04| 2
2 | 5.5 |2020-06-10| 3
我开始像这样创建一个查询:
select t1.price - t2.price from product_price_version t1, product_price_version t2
where t1.version = t2.version - 1
我需要有结果:
id | price | date| version | difference
1 | 10 |2020-06-01| 1 | 0
1 | 16 |2020-06-12| 2 | 6
2 | 4 |2020-06-03| 1 | 0
2 | 5 |2020-06-04| 2 | 1
2 | 5.5 |2020-06-10| 3 | 1.5
最后添加一个过滤器并显示差异大于 5 的值
【问题讨论】:
-
可以使用 lag() 函数
标签: mysql sql select window-functions