欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

MySQL索引查詢limit?offset及排序order?by用法

 更新時間:2023年05月19日 11:09:55   作者:Hunter后端  
這篇文章主要介紹了MySQL限制數(shù)據(jù)返回條數(shù)limit?offset及排序order?by用法,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪

引言

 這是MySQL系列筆記的第九篇,文章內容均為本人通過實踐及查閱資料相關整理所得,可用作新手入門指南,或者個人知識點查閱。

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 查詢語句排序的關鍵字是 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 的默認排序方式,所以如果是升序,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 表示轉化成 gbk 的格式來排序。

以上就是MySQL限制數(shù)據(jù)返回條數(shù)limit offset及排序order by用法的詳細內容,更多關于MySQL limit offset order by的資料請關注腳本之家其它相關文章!

相關文章

最新評論