背景:mysql5.1.36,mybatis
前言:為了解決一對多,分頁顯示,但是前端主要是顯示的一的一方的數據和(多方的某個字段拼接在一起),此時的limit不能直接跟在查詢的后面,需要用子查詢把需要符合條件的一方得id先查詢出來,在子查詢里面用limit 就好比下面的截圖,組員姓名拼接在一起的
言歸正傳,我使用的這個版本mysql是不支持在子查詢中使用limit分頁查詢的。有點蛋疼
這樣寫: select id from table where id in ( select t.userId from user limit 10) ,就會報下面那個錯誤
This version of MySQL doesn't yet support 'LIMIT & IN/ALL/ANY/SOME subquery' :這個版本的mysql不支持子查詢中使用limit
參考了萬能的網友:
解決方案如下:再加一層子查詢。。。
select id from table where id in (select userId from ( select t.userId from user limit 10) tt)
這樣就解決了這個問題
后記:其實當時我看到這個問題,我第一反應是修改實現方案,沒想到去網上找解決方案,自己只是隨意Google了下,沒想到解決起來這么簡單,所以說啊,有時候有問題多問問Google或者百度!