子查询中不能使用limit或者in

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了子查询中不能使用limit或者in相关的知识,希望对你有一定的参考价值。

select * from  wechat_account_info  where id in(select id from wechat_account_info where groupId =‘8‘ ORDER BY id limit 15  ) as s

此句执行中会出现如下错误:

[Err] 1235 - This version of mysql doesn‘t yet support ‘LIMIT & IN/ALL/ANY/SOME subquery‘

原因:

MYSQL子查询不支持limit

解决办法:

再次使用一层循环

select * from wechat_account_info where id in(
select id from (select id from wechat_account_info where groupId =‘8‘ ORDER BY id limit 15 ) as s )

以上是关于子查询中不能使用limit或者in的主要内容,如果未能解决你的问题,请参考以下文章

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

MySQL - 此版本的 MySQL 尚不支持 'LIMIT & IN/ALL/ANY/SOME 子查询

低版本中mysql不支持在limit语句中有子查询

低版本中mysql不支持在limit语句中有子查询

如何处理返回没有行的 IN 子句的子查询

mysql分页查询