萬盛學電腦網

 萬盛學電腦網 >> 數據庫 >> mysql教程 >> 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);

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

copyright © 萬盛學電腦網 all rights reserved