select user_id, date,lead(date,1,null) over(partition by user_id order by date) as nextdate from questions_pass_record 用窗口函数吧,方便很多,通过lead函数,获取date的下一次日期,1就代表下一次刷题,有值就取出date,没值就用缺省代替,或者用null,取出来的值经过partition by 分组,再通过日期排序,这样得到的值作为新的字段nextdate