教程集 www.jiaochengji.com
教程集 >  数据库  >  mysql  >  正文 mysql不支持在子查询中使用limit解决办法

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

发布时间:2023-04-29   编辑:jiaochengji.com
教程集为您提供mysql不支持在子查询中使用limit解决办法等资源,欢迎您收藏本站,我们将为您提供最新的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);

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

您可能感兴趣的文章:
学习MySQL数据分页查询(limit用法)
mysql limit用法及优化详解
mysql中limit、order by和group by的用法实例解析
Mysql子查询IN中使用LIMIT
MySQL limit查询优化的实例详解
学习mysql中的limit分页优化
Mysql中limit的用法实例详解
limit Mysql查询语句使用方法
mysql 分页查询的sql语句
实例详解mysql limit大数据量分页优化的方法

[关闭]
~ ~