题解 | #查询用户刷题日期和下一次刷题日期#
查询用户刷题日期和下一次刷题日期
https://www.nowcoder.com/practice/fed7ebf4254240fdb6a2c963996ee8ff
首先这道题依然有问题,前面要求逆序,后面要顺序之类的,感觉像是谁熬夜一晚上出了这一套题似的,错误非常多
但还是刷吧,还是可以巩固练习一下的:
lead的写法:(偏移标的,偏移量,null)
ifnull(A,B):A非空返回A,A是空值返回B
如果找不到返回的就是null,则题里面不需要ifnull,lead偏移量找不到的话默认值就是null
但是这道题默认是找不到返回None,所以需要ifnull,只不过实际业务中应该不会有这么智障的要求,返回个不存在之类的还行。
答案:
select user_id,date, ifnull(lead(date,1 ) over (partition by user_id order by date ) ,'None') nextdate from questions_pass_record