MySQL查询第N大的问题

关键点:LIMIT

MySQL教程网上找到介绍

The LIMIT clause is used in the SELECT statement to constrain the number of rows to return. The LIMIT clause accepts one or two arguments. The values of both arguments must be zero or positive integers.

大意是,LIMIT用在SELECT语句中,用来限制返回的行数,LIMIT可以接收1到2个参数,两个参数都必须大于或等于零。示例:

SELECT 
    select_list
FROM
    table_name
LIMIT [offset,] row_count;

offset:指定了偏移量,最小值是0,第一条数据的偏移量是0.

row_count:指定了返回的行数

当只有一个参数时表示返回的最大条数。

-- LIMIT 1 ,表示最多返回1条
SELECT * FROM student_course where cid = 1 LIMIT 1;

当有两个参数时,建议联合ORDER BY 一起使用。没有排序默认是按从小到大排序返回的,为了语义明确,需要明确指定排序。

SELECT select_list
FROM table_name
ORDER BY order_expression
LIMIT offset, row_count;

 所以返回第二大的数据SQL大概如下。例如返回某课程成绩排第二的分数

SELECT score FROM student_course where cid = 1 GROUP BY sid ORDER BY score DESC LIMIT 1,1;

 另,LIMIT的另一种写法也可以。LIMIT 1 OFFSET 1;

SELECT score FROM student_course where cid = 1 GROUP BY sid ORDER BY score DESC LIMIT 1 OFFSET 1;

 


 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

飞翔的咩咩

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值