今天一个项目,使用MySQL 子查询时 报了一个错误。
1235 - This version of MySQL doesn't yet support 'LIMIT & IN/ALL/ANY/SOME subquery'
提示这版本的 MySQL 不支持使用 LIMIT 子句的 IN/ALL/ANY/SOME 子查询
select UserName from T_User where Id in(select Id from Table2 limit 0,10)
解决方法:
select UserName from T_User where Id in(select t.Id from (select Id from Table2 limit 0,10) as t)
使用的MySQL 5.7版本。不知道哪个版本可以支持这样的查询。
搜索了一下解决办法。就是将带有limit的子查询,再嵌套一层,不要直接放在 in 后面。