mysql根据搜索过滤器将当前记录日期设置为上一个记录日期

bvjxkvbb  于 2021-06-24  发布在  Mysql
关注(0)|答案(0)|浏览(136)

我想跟踪以前的记录日期,我正在寻找一种方法,要么创建一个视图或创建一个新的前一个日期列。
样品表:

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中缺少了什么,它没有获取上一个记录的当前日期。然后将其更改为“更新”。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题