2016-03-16 2 views

ответ

0

Вы можете использовать связанный подзапрос:

SELECT t1.created AS col_a, 
     (SELECT created 
     FROM tester AS t2 
     WHERE t2.created < t1.created 
     ORDER BY created DESC LIMIT 1) AS col_b 
FROM tester AS t1 

или использовать переменные:

SELECT t1.created AS col_a, t2.created AS col_b 
    FROM (
    SELECT created, @rn1 := @rn1 + 1 AS rn 
    FROM tester 
    CROSS JOIN (SELECT @rn1 := 0) AS var 
    ORDER BY created) AS t1 
    LEFT JOIN (
    SELECT created, @rn2 := @rn2 + 1 AS rn 
    FROM tester 
    CROSS JOIN (SELECT @rn2 := 0) AS var 
    ORDER BY created 
    ) AS t2 ON t1.rn = t2.rn + 1 
+0

Вау, я экспериментировал с методом переменной и не знал о методе коррелированного подзапроса. Теперь я вижу, как это работает. Gratia! –

Смежные вопросы