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

mysql5 limit使用表达式的问题?

mysql5 limit使用表达式的问题?

红颜莎娜 2018-12-20 19:15:46
mysql数据在分页的时候如:select * from user limit 0,5 就是OK的。select * from user limit (1-1)*5,1*5 这种写法就不行。limit后面好像需要一个具体的值,而不是表达式,怎么才能让他支持表达式呢
查看完整描述

1 回答

?
烙印99

TA贡献1829条经验 获得超13个赞

MySQL5.1中子查询是不能使用LIMIT的,报错: "This version of MySQL doesn't yet support 'LIMIT & IN/ALL/ANY/SOME subquery' "
这样的语句是不能正确执行的。
select * from message where id in (select id from message order by id desc limit 10);
但是,只要你再来一层就行。如:
select * from message where id in(select m.id from (select * from message order by id desc limit 10) as m) order by id asc
这样就可以绕开limit子查询的问题。

查看完整回答
反对 回复 2019-01-16
  • 1 回答
  • 0 关注
  • 1373 浏览
慕课专栏
更多

添加回答

举报

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