已知价格会随着时间发生变化,想要求得每款产品的每个价格的起始时间,示例数据如下。 需要注意的是当价格发生变动后又恢复了原价的话,起始日期需重新计算,如 item_id 为 2 ,price 为 399 的数据,就产出了两条起始时间。只能编写 SQL 实现
input:
item_id price dt
1 100 2020-01-01
1 100 2020-01-02
1 120 2020-01-03
2 399 2020-01-01
2 399 2020-01-02
2 399 2020-01-03
2 499 2020-01-04
2 399 2020-01-05
output:
item_id price start_date end_date
1 100 2020-01-01 2020-01-02
1 120 2020-01-03 2020-01-03
2 399 2020-01-01 2020-01-03
2 499 2020-01-04 2020-01-04
2 399 2020-01-05 9999-12-31