题解 | #插入记录(二)#

注册时间最早的三个人

http://www.nowcoder.com/practice/fbe36305c6dd4954a05cc2f2f12e4f4a

SELECT uid, nick_name ,register_time
FROM user_info
ORDER BY register_time
LIMIT 3

SELECT t.uid, t.nick_name , t.register_time
FROM
(SELECT uid, nick_name ,register_time,
 ROW_NUMBER() OVER(ORDER BY register_time ASC) rk
 FROM user_info
) t
WHERE rk<=3

注意:用窗口函数的时候,只能用ROW_NUMBER(),不可以用RANK()和DENSE_RANK() 原因如下:

ROW_NUMBER(): 排名时不管是否有相同的,都按1,2,3...n排名,(相同的排名先后应该是看表格的第一字段,若相同再看第二个字段排名,以此类推)(我猜测的)

RANK(): 如果排名的字段有相同的,会将相同的字段并列排名,并跳过后面的排名,

DENSE_RANK(): 如果排名的字段有相同的,会将相同的字段并列排名,但是不会跳过后面的排名

WHERE 子句这里 rk<=3,如果时间有相同的,用RANK()和DENSE_RANK()筛选出来的会大于3个

全部评论

相关推荐

07-01 17:14
中北大学 Java
兄弟们是真是假
牛客46374834...:我在boss上投java岗从来没成功过
点赞 评论 收藏
分享
07-01 19:00
门头沟学院 Java
点赞 评论 收藏
分享
湫湫湫不会java:先投着吧,大概率找不到实习,没实习的时候再加个项目,然后把个人评价和荣誉奖项删了,赶紧成为八股战神吧,没实习没学历,秋招机会估计不多,把握机会。或者说秋招时间去冲实习,春招冲offer,但是压力会比较大
点赞 评论 收藏
分享
06-16 15:04
黑龙江大学 Java
零OFFER战士:另一个版本查看图片
点赞 评论 收藏
分享
评论
2
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务