SQL中令人头疼的limit、offset、rank、dense_rank、row_number一文辨析

这些关键字都涉及到业务中查询最多、最少、第几这样的问题,所以是需要取数的友友们所要必须掌握的技能。

limit和offset:

limit是指显示查询的数据数量(即查询中分页查询一页最多显示的数据量),limit 3就是限制一页的数据条数为3

offset是指查询的偏移量(即查到结果跳过去忽略的数据数量),往往与limit与连用,实现翻页的操作,但是翻几页需要自行计算

select * from table_name where x>10 limit 10 offset 3

上面这段语句是指,x大于10的数据结果中先跳过去3个,再显示10个

limit m,n的用法与offset同理,它表示从第m+1行开始(因为索引从0开始)返回,并返回n条数据,也就是说它和 limit n offset m 等价

再说说与窗口函数联系密切的row_number()、rank()和dense_rank()

row_number():人如其名,行标,1,2,3,4,5,6.。。。。

rank():和高考的排名方式一样,1,2,2,4,5,5,7

dense_rank():排名号不能落空,最“紧密”的排序方式,1,2,2,2,3,3,4,5,5

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值