这是我的原始查询.... 如果您可以看到 next_row_date '2013-01-01' 的日期不是 fld_date 的最后一条记录,并且 next_row_date 的最后一条记录是 '2013-01-15' 必须为 0 .
+-----+---+------------+---------------+ | 序列 | 我 | fld_日期 | 下一行日期 | +-----+---+------------+---------------+ | 41 | 1 | 2012-10-08 | 2012-10-15 | | 42 | 2 | 2012-10-15 | 2012-10-22 | | 43 | 3 | 2012-10-22 | 2012-10-29 | | 44 | 4 | 2012-10-29 | 2012-11-05 | | 45 | 5 | 2012-11-05 | 2012-11-12 | | 46 | 6 | 2012-11-12 | 2012-11-19 | | 47 | 7 | 2012-11-19 | 2013-01-01 | | 49 | 8 | 2013-01-08 | 2013-01-15 | +-----+---+------------+---------------+
这是我想要的输出。你能帮我解决这个问题吗?
+-----+---+------------+---------------+ | 序列 | 我 | fld_日期 | 下一行日期 | +-----+---+------------+---------------+ | 41 | 1 | 2012-10-08 | 2012-10-15 | | 42 | 2 | 2012-10-15 | 2012-10-22 | | 43 | 3 | 2012-10-22 | 2012-10-29 | | 44 | 4 | 2012-10-29 | 2012-11-05 | | 45 | 5 | 2012-11-05 | 2012-11-12 | | 46 | 6 | 2012-11-12 | 2012-11-19 | | 47 | 7 | 2012-11-19 | 2013-01-08 | | 49 | 8 | 2013-01-08 | 0 | +-----+---+------------+---------------+
SELECT
db_lms.a.seq,
(@i:=@i+1)AS i,
db_lms.a.fld_Date,
(db_lms.b.fld_Date)AS next_row_date
FROM db_lms.lms_savings a, db_lms.lms_savings b, (SELECT @i:=0) ii
WHERE (db_lms.a.seq = db_lms.b.seq-1) ORDER BY db_lms.a.seq ASC;