为了账号安全,请及时绑定邮箱和手机立即绑定

在MySQL中的LIMIT子句中使用变量

在MySQL中的LIMIT子句中使用变量

红颜莎娜 2019-08-19 15:56:07
在MySQL中的LIMIT子句中使用变量我正在编写一个存储过程,其中有一个名为my_size的输入参数,它是一个INTEGER。我希望能够LIMIT在SELECT声明中的子句中使用它。显然这是不支持的,有没有办法解决这个问题?# I want something like:SELECT * FROM some_table LIMIT my_size;# Instead of hardcoding a permanent limit:SELECT * FROM some_table LIMIT 100;
查看完整描述

3 回答

?
绝地无双

TA贡献1946条经验 获得超4个赞

对于那些不能使用MySQL 5.5.6+并且不想编写存储过程的人,还有另一种变体。我们可以使用ROWNUM在subselect上添加where子句。

SET @limit = 10;SELECT * FROM (
  SELECT instances.*, 
         @rownum := @rownum + 1 AS rank    FROM instances, 
         (SELECT @rownum := 0) r) d WHERE rank < @limit;


查看完整回答
反对 回复 2019-08-19
  • 3 回答
  • 0 关注
  • 2309 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信