加入收藏 | 设为首页 | 会员中心 | 我要投稿 PHP编程网 - 黄冈站长网 (http://www.0713zz.com/)- 数据应用、建站、人体识别、智能机器人、语音技术!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

mysql不支持在子查询中使用limit修复办法

发布时间:2022-06-29 20:29:53 所属栏目:MySql教程 来源:互联网
导读:limit在mysql中查询指定数据X到N条的一个功能了,但在mysql子查询时会发现limit无效了,那么我们要如何解决此问题?下面一起来看看. 今天在处理一个电影网站的数据,需要更改部分内容,因为这个网站的电影太多了,一条一条处理非常困难,所以想先从部分内容开始
  limit在mysql中查询指定数据X到N条的一个功能了,但在mysql子查询时会发现limit无效了,那么我们要如何解决此问题?下面一起来看看.
 
  今天在处理一个电影网站的数据,需要更改部分内容,因为这个网站的电影太多了,一条一条处理非常困难,所以想先从部分内容开始分析,然后使用到limit。这时mysql报错了:
 
  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);经过测试,如我们所想,终于成功了.
 
 

(编辑:PHP编程网 - 黄冈站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读