我在mysql数据库中有以下选择:
select t.col1, t.THE_DATE, (select ?? as PREVIOUS_DATE)
from DUMMY_TABLE t
order by date
我要实现的是让'PREVIOUS_DATE'包含上一行的'THE_DATE'列的值(如果有的话)。
因此,如果DUMMY_TABLE具有数据:
col1 THE_DATE
x 10-01-2010
x 10-01-2012
x 10-01-2009
我的选择应该返回
col1 THE_DATE PREVIOUS_DATE
x 10-01-2009
x 10-01-2010 10-01-2009
x 10-01-2012 10-01-2010
答案 0 :(得分:3)
您需要order by
中的subquery
子句和limit
子句:
select t.col1, t.the_date,
( select t1.the_date
from dummy_table t1
where t1.col = t.col and
t1.the_date < t.the_date
order by t1.the_date desc
limit 1
) as PREVIOUS_DATE
from dummy_table t
order by the_date;