mysql不支持在子查詢中使用limit解決辦法


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);

經過測試,如我們所想,終於成功了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM