我想跟踪以前的记录日期,我正在寻找一种方法,要么创建一个视图或创建一个新的前一个日期列。
样品表:
select id, previous, current
from reports
where prod_id = 25
order by id desc;
+------+---------------+---------------+
| id | previous | current |
+------+---------------+---------------+
| 229 | 0000-00-00 | 2018-03-19 |
| 208 | 0000-00-00 | 2018-01-05 |
| 134 | 0000-00-00 | 2017-08-22 |
+------+---------------+---------------+
在阅读了其他主题之后,我尝试了以下方法:
select id, current, @previous:= current as previous
from reports join (select @previous := 0) dummy
where prod_id = 25
order by id desc;
+------+---------------+---------------+
| id | current | previous |
+------+---------------+---------------+
| 229 | 2018-03-19 | 2018-03-19 |
| 208 | 2018-01-05 | 2018-01-05 |
| 134 | 2017-08-22 | 2017-08-22 |
+------+---------------+---------------+
在第二个例子中,前面的和当前的仍然是相同的。尽管我希望table是这样的:
+------+---------------+---------------+
| id | previous | current |
+------+---------------+---------------+
| 229 | 2018-01-05 | 2018-03-19 |
| 208 | 2017-08-22 | 2018-01-05 |
| 134 | 2017-06-14 | 2017-08-22 |
+------+---------------+---------------+
我正在尝试找出我的示例sql中缺少了什么,它没有获取上一个记录的当前日期。然后将其更改为“更新”。
暂无答案!
目前还没有任何答案,快来回答吧!