id month status
1 1997-11-01 A
1 2015-08-01 B
2 2010-01-01 A
2 2010-02-01 B
2 2012-10-01 C
寻找下一行的值,我想格式化为:的MySQL通过ID
id month lead_month status
1 1997-11-01 2015-08-01 A
1 2015-08-01 NOW() B
2 2010-01-01 2010-02-01 A
2 2010-02-01 2012-10-01 B
2 2012-10-01 NOW() C
MySQL是新的给我,和我有麻烦缠绕我的头周围的变量。我宁愿使用简单的LEAD()
与PARTITION
,但不幸的是,我不能。
这里是我的尝试,不工作:
SET @lead = '1995-01-01'; --abitrary floor
select id, month, status, @lead, @lead:=month from table
输出看起来是这样的,这也不会,如果ID的自排检查排是相同的:
id month lead_month status
1 1997-11-01 1995-01-01 A
1 2015-08-01 1997-11-01 B
2 2010-01-01 2015-08-01 A
2 2010-02-01 2010-01-01 B
2 2012-10-01 2010-02-01 C