- 本文地址: https://www.laruence.com/2008/07/16/227.html
- 转载请注明出处
在MySQL4.1中子查询是不能使用LIMIT的,手册中也明确指明 "This version of MySQL doesn't yet support 'LIMIT & IN/ALL/ANY/SOME subquery' "
也就是说,这样的语句是不能正确执行的。
select * from table where id in (select id from table limit 10);
但是,,但是,,,只要你再来一层就行。。如:
select * from table where id in (select t.id from (select * from table limit 10)as t)
你说说,MySQL是不是很让人无语??
你好! 这篇文章不能写得好多了! 阅读这篇文章让我想起了我以前的室友! 他一直在讲述这个。 我当然会把这篇文章寄给他。
相当肯定他会读得很好。 非常感谢分享!
厉害了
把里括号里面的句子单独拿出来,跟你最初想查的有啥区别。速度还是慢啊
把括号里拿出来跟你想查的有什么区别?
thank you
best wishies for you
谢谢鸟哥,解决了!
真的佩服,者都能发现!
确实很无语
额,这都被你发现了,神人
谢谢楼主,因为这次在子查询用到了limit,mysql不支持,用楼主的方法解决了!
測試了一下,又是自然人類語言的歧義性使人誤解……
“This version of MySQL doesn’t yet support ‘LIMIT & IN/ALL/ANY/SOME subquery'” 的意思是,這版本的 MySQL 不支持使用 LIMIT 子句的 IN/ALL/ANY/SOME 子查詢,即是支持非 IN/ALL/ANY/SOME 子查詢的 LIMIT 子查詢。
歧義點在於各生字的 apply 和組合順序,這句子的正確結合順序是 “This version of MySQL doesn’t yet support ((LIMIT-(IN/ALL/ANY/SOME)) subquery)” (”-“符號為 hyphen ),有可能的錯誤理解是 “This version of MySQL doesn’t yet support ((LIMIT subquery) & ((IN/ALL/ANY/SOME) subquery))” 。
无语的有点BT
更感兴趣的,你怎么发现的,一般都很少用到2层子查询了
…无语