MySQL索引查詢limit?offset及排序order?by用法
引言
“ 這是MySQL系列筆記的第九篇,文章內(nèi)容均為本人通過實踐及查閱資料相關(guān)整理所得,可用作新手入門指南,或者個人知識點查閱。”
select 語句獲取數(shù)據(jù)我們可以通過 where 語句來限制條件。
但是如果限制條件之后還是很多數(shù)據(jù),比如說 一萬條,但有時候我們只是想看看數(shù)據(jù)的基本情況,不需要一萬條數(shù)據(jù),看不完,而且這一萬條數(shù)據(jù)返回到客戶端的時間也很長,沒必要,那么這就需要我們使用 limit 和 offset 來限制返回的數(shù)量。
使用 limit 和 offset 來限制返回的數(shù)量
1、limit
limit 限制數(shù)量,后面跟一個整數(shù) n,表示只返回符合條件的 n 條數(shù)據(jù)
比如說返回 book 表的前 5 條數(shù)據(jù):
select?*?from?book?limit?5;
2、offset
offset 是偏移量,和 limit 連用,比如說 limit 3 offset 5 表示舍棄前5條數(shù)據(jù), 然后返回之后的 3條數(shù)據(jù)
可以理解成分頁的用法,比如說每頁數(shù)量為 10 條,然后我們分別獲區(qū)第1、2、3、4頁的數(shù)據(jù):
select?*?from?book?limit?10?offset?0; select?*?from?book?limit?10?offset?10; select?*?from?book?limit?10?offset?20; select?*?from?book?limit?10?offset?30;
注意: limit 和 offset 語句都放在查詢語句的最后面。
MySQL 查詢語句排序的關(guān)鍵字是 order by。
order by 的如下幾個用法
order by 的正序、逆序
多個字段排序
按照中文排序
1、order by 的升序、倒序
order by 的語法是 order by field_name asc/desc,asc 是升序,desc 是倒序
比如根據(jù) book_name 字段按照升序排列返回:
select?*?from?book?order?by?book_name?asc;
其實,asc 是 order by 的默認(rèn)排序方式,所以如果是升序,asc 是可以省略的。
select?*?from?book?order?by?book_name;
如果是倒序就是用 desc:
select?*?from?book?order?by?book_name?desc;
2、多個字段排序
如果是多個字段分別倒序、升序,通過逗號分隔連用即可:
select?*?from?book?order?by?book_name?desc,?author?asc;
3、按照中文排序
現(xiàn)在插入幾條帶中文的數(shù)據(jù):
insert?into?book?(book_name,?author)?values('中文測試',?'作者1'),?('這是測試',?'作者2'),?('測試',?'作者3');
直接使用排序的邏輯會發(fā)現(xiàn)排序是不對的,因為 '測試' 的拼音是在 'ceshi',但是排序卻并沒有在其他兩條數(shù)據(jù)前面:
select?*?from?book?order?by?book_name;
那么這就需要用到另一個用法:
select?*?from?book?order?by?convert(book_name?using?gbk);
其語法是 convert(field_name using gbk),convert 函數(shù)里是字段名,然后 using gbk 表示轉(zhuǎn)化成 gbk 的格式來排序。
以上就是MySQL限制數(shù)據(jù)返回條數(shù)limit offset及排序order by用法的詳細(xì)內(nèi)容,更多關(guān)于MySQL limit offset order by的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
MySQL刪除數(shù)據(jù)Delete與Truncate語句使用比較
在MySQL數(shù)據(jù)庫中,DELETE語句和TRUNCATE TABLE語句都可以用來刪除數(shù)據(jù),但是這兩種語句還是有著其區(qū)別的,下文就為您介紹這二者的差別所在2012-09-09
MySQL中導(dǎo)出用戶權(quán)限設(shè)置的腳本分享
這篇文章主要介紹了MySQL中導(dǎo)出用戶權(quán)限設(shè)置的腳本分享,本文通過導(dǎo)出mysql.user表中數(shù)據(jù)實現(xiàn)導(dǎo)出權(quán)限設(shè)置,需要的朋友可以參考下2014-10-10
MySQL對小數(shù)進(jìn)行四舍五入的操作實現(xiàn)
數(shù)學(xué)函數(shù)是MySQL中常用的一類函數(shù),其主要用于處理數(shù)字,包括整型和浮點數(shù)等等,本文主要介紹了MySQL對小數(shù)進(jìn)行四舍五入的操作實現(xiàn),具有一定的參考價值,感興趣的可以了解一下2023-08-08

