码迷,mamicode.com
首页 > 数据库 > 详细

mysql不支持在子查询中使用limit解决办法

时间:2018-07-04 22:45:26      阅读:199      评论:0      收藏:0      [点我收藏+]

标签:tab   测试   spm   mys   问题   mit   搜索   sql语句   this   

mysql不支持在子查询中使用limit解决办法

 

This version of MySQL doesn’t yet support ‘LIMIT & IN/ALL/ANY/SOME subquery’

字面意思就是不支持在子查询中使用limit关键字。

经过搜索,找到了替代解决方法。


就是在limit的子查询外层再加一层子查询。

比如:

原先可能是报错的sql语句是:select *from cidy where id in(select id from cidy limit 0,10);

经过修改的sql就是:select *from cidy where id in(select id from(select id from cidy limit 0,10));

经过测试,修改过的sql语句执行时报错:Every derived table must have its own alias

错误的字面意思是:需要别名

从上面的sql语句中可以看到,我们多加的一层sql不仅没有别名更没有表名,会不会在这里出问题呢?测一下就知道了~

经过修改后的sql语句就是:select *from cidy where id in(select id from(select id from cidy limit 0,10)as cd);

经过测试,如我们所想,终于成功了。

mysql不支持在子查询中使用limit解决办法

标签:tab   测试   spm   mys   问题   mit   搜索   sql语句   this   

原文地址:https://www.cnblogs.com/fengshui/p/9265400.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!