1. 程式人生 > >mysql中limit與in不能同時使用的解決辦法

mysql中limit與in不能同時使用的解決辦法

我就有以下的列子來解釋吧,這樣會更好的理解的!

一、新增teacher表和student表

teacher表

student表

二、假如只能同時二個人來查詢老師的資訊,請寫出sql語句實現

SELECT * FROM teacher WHERE t_id in(SELECT teacher_id FROM student LIMIT 0,2); 

  問題:發現不能正確執行的,報錯為:[Err] 1235 - This version of MySQL doesn't yet support 'LIMIT & IN/ALL/ANY/SOME subquery'

  原因:limit不能使用在IN/ALL/ANY/SOME中,那隻要原來的基礎上加多一層就可以了!

如:SELECT * FROM teacher WHERE t_id in(SELECT s.teacher_id FROM (SELECT teacher_id FROM student LIMIT 0,2) AS s);

那樣就可以繞開limit子查詢的出異常的問題了,編寫完畢,希望對大家有所幫助了(^_^)!

相關推薦

mysqllimitin不能同時使用的解決辦法

我就有以下的列子來解釋吧,這樣會更好的理解的! 一、新增teacher表和student表 teacher表 student表 二、假如只能同時二個人來查詢老師的資訊,請寫出sql語句實現 S

MySQLlimitmax同時使用時查詢為空的情況

嵌套查詢 下使用 spa get name ack question 使用 如果 一般情況下使用limit進行分頁時通常是第一頁就用max和min這些函數去求值,這樣的情況是正常的,但是如果limit去到了第二頁的時候發現這樣用是不行的,原因未知! 修改的方式如下,適合大

解決mysqllimitin不能同時使用的問題

但是 col ima 聚集 class mys mit table span 先給出數據表 CREATE TABLE `test_tb_grade` ( `ID` int(10) NOT NULL AUTO_INCREMENT, `USER_NAME` v

解決PDO-mysqlLIMITIN子句執行失敗的問題

LIMIT子句執行失敗 資料庫連線用的是PDO,遇到分頁的場景, 在sql中的"LIMIT :offset, :pageSize"執行時model層的fetchAll()返回結果為空,原因是在model層繫結引數的時候$this-bindValue($placeHolder

php+Mysql網頁出現亂碼的解決辦法詳解

用戶 編碼 utf8 你是 nec ssa 臺灣 test sel $conn = mysql_connect("$host","$user","$password");mysql_query("SET NAMES ‘UTF8‘");mysql_select_db("$da

(整)deepin下mysql的安裝部分錯誤解決辦法

deepin(深度)是國產Linux系統,程式設計師肯定要了解Linux系統啦,但是在程式安裝上可能會有些不習慣,現在讓我們來看看mysql在deepin上的安裝過程。 1.傻瓜式命令列安裝   這也是Linux系統的一大爽點,不需要跑去瀏覽器找安裝包了,具體的安裝可以看https://blog.csdn

淺析MySQLexistsin的使用 (寫的非常好)

轉自http://sunxiaqw.blog.163.com/blog/static/990654382013430105130443/ exists對外表用loop逐條查詢,每次查詢都會檢視exists的條件語句,當 exists裡的條件語句能夠返回記錄行時(無論記錄行是的多少,只要能返回),條件就為

mysqlEXISTSIN用法比較

1、使用方式: (1)EXISTS用法 select a.batchName,a.projectId from ucsc_project_batch a where EXISTS (select b.id from ucsc_project b where a.projectId = b.i

MySQLexistsin的使用 以及查詢效率比較

exists對外表用loop逐條查詢,每次查詢都會檢視exists的條件語句,當 exists裡的條件語句能夠返回記錄行時(無論記錄行是的多少,只要能返回),條件就為真,返回當前loop到的這條記錄,反之如果exists裡的條 件語句不能返回記錄行,則當前loop到的這條

mysql遇到1366錯誤的解決辦法

最近給學校做一個專案,資料庫要用到oracle,如果在windows下面的,安裝oracle是比較簡單的,但是很不巧,在我接專案前,剛剛換了臺Mac,所以這回問題大了,oracle現在最新的版本還不支援Mac os系統,目前10g是支援Mac os的,但是10g官網的資源已

MySQL的WHERE語句BETWEENIN的使用教程

MySQLBETWEEN 運算符用於 WHERE 表達式中,選取介於兩個值之間的數據範圍。BETWEEN 同 AND 一起搭配使用,語法如下: WHERE column BETWEEN value1 AND value2WHERE column NOT BETWEEN value1 AND value2 通常

Mysql安裝過程遇到的問題及解決辦法

        因為做SSH網上商城的專案,需要使用MySql資料庫,所以就馬上著手安裝MySQL,但是在安裝過程中,可謂是一波三折,總是遇到問題,讓我不得不去尋找解決辦法。         最開始我

dockermysql初始化及啟動失敗解決辦法

在docker中有一個mysql服務,其資料檔案是掛在在主機外面的檔案,在docker中的root有訪問該資料檔案的許可權,但是docker中mysql訪問資料檔案的時候提示許可權不足,於是只有以

WHERE語句BETWEENIN的使用教程-MySQL

MySQL BETWEEN 用法MySQL BETWEEN 語法 BETWEEN 運算子用於 WHERE 表示式中,選取介於兩個值之間的資料範圍。BETWEEN 同 AND 一起搭配使用,語法如下: WHERE column BETWEEN value1 AND valu

mysql資料庫資料表出現亂碼解決辦法

 最近發現,在MySQL的dos客戶端輸出視窗中查詢表中的資料時,表中的中文資料都顯示成亂碼,如下圖所示:      上網查了一下原因:之所以會顯示亂碼,就是因為MySQL客戶端輸出視窗顯示中文時使用的字元編碼不對造成的,可以使用如下的命令檢視輸出視窗使用的字元編碼

解決MySQLlimit語句無法識別運算的問題

在MySQL中,分頁可以用limit實現SELECT * FROM person LIMIT 1,5;在limit中無法使用運算子:SELECT * FROM person LIMIT (2-1)*5,5;所以我們得先進行拼接再執行,程式碼如下:SET @stmt = CON

AndroidworkerthreadUIthread同時訪問同一資源造成ConcurrentModificationException解決參考

    個人總結,若有問題,希望大家不吝指教,在此感謝。 專案中遇到一個ConcurrentModificationException異常,這種異常比較蛋疼,一般兩個執行緒同時訪問一個資源造成的,一個再改,一個再做別的,然後就不同步了。     Log資料中只給出一個點,不

題外話+Mysqllimit後不能跟變數問題的解決方法

先說兩句體外話:好久沒在CSDN的blog寫東西了,一個原因是自己最近工作比較忙,最主要的原因還是CSDN的blog反映太遲鈍,偶爾有想法想記錄下來,開啟部落格主頁都打不開,要麼進度條在下面緩慢的載入,要麼乾脆就報 已取消到該網頁的導航

oracle 11g錯誤ora-01033:oracle initialization or shutdown in progress解決辦法

想要 文件 area .net total rop shutdown 一個 pro 原文出自:http://blog.csdn.net/liverliu/article/details/6410287 一、首先:問題的產生原因,先前我在f:/llh/目錄創建的一個book

MyEclipse代碼編輯器漢字太小的解決辦法(中文看不清)

window eclips nts reference edit col fonts ren cli 問題描述:新安裝的myeclipse 2014,代碼編輯器中漢字很小看不清解決辦法:調整字體即可。通過菜單Windows——Preferences,