MySQL中limit與max同時使用時查詢為空的情況
一般情況下使用limit進行分頁時通常是第一頁就用max和min這些函數去求值,這樣的情況是正常的,但是如果limit去到了第二頁的時候發現這樣用是不行的,原因未知!
修改的方式如下,適合大部分:
select max(id) from (select * from tablename limit 1,1) as temp
也就是select進行嵌套查詢。
效率肯定是會低一點的,畢竟使用了嵌套查詢,但是嵌套那個語句已經查詢到了內存,所以性能上也不會相差太多。
參考:
https://stackoverflow.com/questions/1150715/how-can-i-use-max-and-limit-together-in-mysql
http://www.jianshu.com/p/77226327a3ad
http://bbs.csdn.net/topics/390302875
MySQL中limit與max同時使用時查詢為空的情況
相關推薦
MySQL中limit與max同時使用時查詢為空的情況
嵌套查詢 下使用 spa get name ack question 使用 如果 一般情況下使用limit進行分頁時通常是第一頁就用max和min這些函數去求值,這樣的情況是正常的,但是如果limit去到了第二頁的時候發現這樣用是不行的,原因未知! 修改的方式如下,適合大
mysql中limit與in不能同時使用的解決辦法
我就有以下的列子來解釋吧,這樣會更好的理解的! 一、新增teacher表和student表 teacher表 student表 二、假如只能同時二個人來查詢老師的資訊,請寫出sql語句實現 S
MySQL中min和max查詢優化
MySQL max() 函式的需掃描where條件過濾後的所有行: 在測試環境中重現: 測試版本:Server version: 5.1.58-log MySQL Community Server (GPL) testtable表中的索引 mysq
關於 mysql 中 find_in_set 與 like 查詢的一些思考
前段時間專案中,使用到了mysql中的find_in_set 查詢,因為原先沒有使用過此方法,故進行了些許研究。 如mysql官方文件所說,find_in_set (str , strlist) 函式,查詢欄位(strlist)中包含 str 的結果,return 為 符
MySQL中exists與in的使用 以及查詢效率比較
exists對外表用loop逐條查詢,每次查詢都會檢視exists的條件語句,當 exists裡的條件語句能夠返回記錄行時(無論記錄行是的多少,只要能返回),條件就為真,返回當前loop到的這條記錄,反之如果exists裡的條 件語句不能返回記錄行,則當前loop到的這條
使用hibernate實現mysql中limit的查詢
給大家分享個知識點,hibernate 的hql不支援limit的使用。以後大家如果有限制查詢從第幾條至第幾條時。就用 List<SiteInvestment> investments = new ArrayList<SiteIn
Mysql中使用存儲過程返回查詢多個表的數據信息
lan var rmi pan cas nis lang fun sub -- 測試手機號 call P_Base_CheckLogin(‘15584463676‘); -- 測試登錄名 call P_Base_CheckLogin(‘sch000001‘)
MySQL中MyISAM與InnoDB區別及選擇,mysql添加外鍵
title 必須 pan 就會 默認 簡化 平臺 兩種 myisam InnoDB:支持事務處理等不加鎖讀取支持外鍵支持行鎖不支持FULLTEXT類型的索引不保存表的具體行數,掃描表來計算有多少行DELETE 表時,是一行一行的刪除InnoDB 把數據和索引存放在表空間裏面
MySQL 中Redo與Binlog順序一致性問題 【轉】
事務 sync GC 文檔 per ora 需要 步驟 基本思想 首先,我們知道在MySQL中,二進制日誌是server層的,主要用來做主從復制和即時點恢復時使用的。而事務日誌(redo log)是InnoDB存儲引擎層的,用來保證事務安全的。現在我們來討論一下MySQL
mysql 中Varchar 與char的區別
計算機 一個 個數 arc eat 每一個 set span 方式 一、字符與字節與編碼關系 ASCII碼中,一個英文字母(不分大小寫)占一個字節的空間,一個中文漢字占兩個字節的空間。一個二進制數字序列,在計算機中作為一個數字單元,一般為8位二進制數,換算為十進制。最小值0
MySQL中MyISAM與InnoDB區別及選擇
重建 包含 好的 數據 mysql 備份 處理 表空間 種類 InnoDB:支持事務處理等不加鎖讀取支持外鍵支持行鎖不支持FULLTEXT類型的索引不保存表的具體行數,掃描表來計算有多少行DELETE 表時,是一行一行的刪除InnoDB 把數據和索引存放在表空間裏面跨平臺可
MySQL中limit的用法
使用查詢語句時,為了返回前幾條/中間某幾條資料,經常用到limit欄位,現記錄其引數含義 一、語法 // 強制select語句返回指定的記錄數 select * from table limit [offset,] rows|rows OFFSET offset 二、引數 lim
詳解MySQL中LIMIT的使用方法
1、任務描述 搜尋表結構中的某些部分的資料,比如,最後面三個,最前面三個,第2到8條記錄,等等。 2、實戰演練 一、select * from tablename order by
MySQL中MyISAM與InnoDB區別
原文:https://blog.csdn.net/frycn/article/details/70158313?utm_source=copy InnoDB:支援事務處理等不加鎖讀取支援外來鍵支援行鎖不支援FULLTEXT型別的索引不儲存表的具體行數,掃描表來計算有多少行DELETE 表時,是一
解決mysql中limit和in不能同時使用的問題
但是 col ima 聚集 class mys mit table span 先給出數據表 CREATE TABLE `test_tb_grade` ( `ID` int(10) NOT NULL AUTO_INCREMENT, `USER_NAME` v
mysql中InnoDB與MyISAM的區別
兩者的區別: 1. InnoDB支援事務,MyISAM不支援,對於InnoDB每一條SQL語言都預設封裝成事務,自動提交,這樣會影響速度,所以最好把多條SQL語言放在begin和commit之間,組成一個事務; 2. InnoDB支援外來鍵,而MyISAM不支援。對一個包含外來鍵的InnoDB錶轉為MYI
MySQL中主表與副表的區別,級聯操作的運用
劃重點: 1 被約束的表稱為副表,約束別人的表稱為主表,外來鍵設定在副表上的。 2 主表被參考的欄位通常都設定為主鍵 3 當有外來鍵約束的時候,新增資料的順序:先加主表,再新增副表的資料 4 當有外來鍵約束的時候,修改資料的順序:先修改副表,再修改主表的資料 5 當有外來鍵約束
MySQL中varchar與char區別
MySQL中varchar最大長度是多少? 一. varchar儲存規則: 4.0版本以下,varchar(20),指的是20位元組,如果存放UTF8漢字時,只能存6個(每個漢字3位元組) 5.0版本以上,varchar(20),指的是20字元,無論存放的是數字、字母還是UTF8
mysql中char與varchar的區別
區別:char:定長,效率高,一般用於固定長度的表單提交資料儲存 ;例如:身份證號,手機號,電話,密碼等 varchar:不定長,效率偏低 1、varchar型別的變化 MySQL 資料庫的varchar型別在4.1以下的版本中的最大長度限制為255,其資料範圍可以是0255或1255(
mysql中date_add與date_sub函式使用詳解
mysql中date_add與date_sub函式使用詳解 轉載:http://www.111cn.net/database/mysql/52936.htm 在mysql中date_a