WITH RANKED AS (
SELECT
*,
ROW_NUMBER() OVER (PARTITION BY user_id ORDER BY date) AS rn
FROM
questions_pass_record
),
NEXT AS (
SELECT
*,
ROW_NUMBER() OVER (PARTITION BY user_id ORDER BY date) AS rn
FROM
questions_pass_record
)
SELECT
RANKED.user_id,
RANKED.date,
NEXT.date as nextdate
FROM
RANKED
LEFT JOIN
NEXT
ON
RANKED.user_id = NEXT.user_id
AND
RANKED.rn + 1 = NEXT.rn
ORDER BY
RANKED.user_id, RANKED.date

京公网安备 11010502036488号