最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MySQL?中的?LIMIT?語句及基本用法

 更新時間:2025年06月13日 11:41:14   作者:BirdMan98  
LIMIT?語句用于限制查詢返回的行數(shù),常用于分頁查詢或取部分數(shù)據(jù),提高查詢效率,本文給大家介紹MySQL?中的?LIMIT?語句,本文給大家介紹的非常詳細,感興趣的朋友一起看看吧

MySQL 中的 LIMIT 語句

LIMIT 語句用于限制查詢返回的行數(shù),常用于分頁查詢或取部分數(shù)據(jù),提高查詢效率。

1. LIMIT 語法

SELECT 列名1, 列名2, ...
FROM 表名
WHERE 條件
ORDER BY 排序字段
LIMIT 記錄數(shù) OFFSET 偏移量;

或:

SELECT 列名1, 列名2, ...
FROM 表名
WHERE 條件
ORDER BY 排序字段
LIMIT 偏移量, 記錄數(shù);

?? LIMIT 偏移量, 記錄數(shù) 和 LIMIT 記錄數(shù) OFFSET 偏移量 作用相同。

2.LIMIT基本用法

(1) 獲取前 N 行數(shù)據(jù)

SELECT * FROM users LIMIT 5;

返回表 users 的前 5 行數(shù)據(jù)。

(2) LIMIT 結(jié)合 ORDER BY

如果不排序,返回的數(shù)據(jù)可能不穩(wěn)定(順序不確定)。

SELECT * FROM users ORDER BY age DESC LIMIT 5;

先按 age 降序排序,再取前 5 行數(shù)據(jù)。

(3) LIMIT 進行分頁查詢

如果要獲取第 11 到 20 條記錄

SELECT * FROM users ORDER BY id ASC LIMIT 10 OFFSET 10;

或:

SELECT * FROM users ORDER BY id ASC LIMIT 10, 10;

?? 等效于 LIMIT 10 OFFSET 10,其中:

  • 10 是 偏移量(OFFSET),表示跳過前 10 條數(shù)據(jù)。
  • 10 是 返回的行數(shù)(LIMIT)。

?? 分頁查詢公式

LIMIT 每頁條數(shù) OFFSET (當前頁 - 1) * 每頁條數(shù);

例如:

第 1 頁(前 10 條):LIMIT 10 OFFSET 0第 2 頁(第 11-20 條):LIMIT 10 OFFSET 10第 3 頁(第 21-30 條):LIMIT 10 OFFSET 20

3. LIMIT 結(jié)合 COUNT()

(1) 統(tǒng)計總記錄數(shù)

分頁時,通常要先獲取總記錄數(shù):

SELECT COUNT(*) FROM users;

?? COUNT(\*) 更快,不會忽略 NULL

4. LIMIT 結(jié)合 RAND()(隨機取數(shù)據(jù))

如果想要隨機返回 3 條記錄

SELECT * FROM users ORDER BY RAND() LIMIT 3;

?? ? 注意

ORDER BY RAND() 性能較低,會對所有數(shù)據(jù)進行排序再取值。

更高效的隨機查詢(適用于 id 遞增的數(shù)據(jù)表):

SELECT * FROM users 
WHERE id >= (SELECT FLOOR(RAND() * (SELECT MAX(id) FROM users))) 
LIMIT 3;

5. LIMIT 語句的性能優(yōu)化

(1) LIMIT OFFSET 可能導(dǎo)致性能下降

OFFSET 很大時:

SELECT * FROM users ORDER BY id LIMIT 10 OFFSET 100000;

MySQL 仍然會掃描 100000 行,然后丟棄前 100000 條數(shù)據(jù),只返回 10 條,影響性能。

優(yōu)化方法:用索引加條件替代 OFFSET

SELECT * FROM users WHERE id > 100000 ORDER BY id LIMIT 10;

?? 適用于 id 是自增主鍵的情況,查詢速度更快。

(2) LIMIT 結(jié)合 JOIN 可能引發(fā)性能問題

SELECT * FROM users 
JOIN orders ON users.id = orders.user_id 
ORDER BY users.id LIMIT 100000, 10;

?? 如果 users.id 沒有索引,查詢會很慢。

優(yōu)化方法

SELECT users.* FROM users 
WHERE users.id > (SELECT id FROM users ORDER BY id LIMIT 100000, 1) 
ORDER BY users.id LIMIT 10;

找到偏移的起點,再 LIMIT 取值,減少掃描行數(shù)。

6. LIMIT 結(jié)合 GROUP BY

如果要獲取每個城市的前 3 名用戶

SELECT * FROM (
    SELECT *, ROW_NUMBER() OVER (PARTITION BY city ORDER BY age DESC) AS rank
    FROM users
) AS temp WHERE rank <= 3;

?? ROW_NUMBER() 需要 MySQL 8.0+ 才支持。

7. LIMIT 結(jié)合 DISTINCT

如果要獲取唯一數(shù)據(jù)的前 5 條

SELECT DISTINCT city FROM users LIMIT 5;

?? LIMITDISTINCT 之后生效,只返回 5 個唯一的 city。

8. LIMIT 語句總結(jié)

用法語法示例說明
獲取前 N 行LIMIT 5取前 5 條數(shù)據(jù)
分頁查詢LIMIT 10 OFFSET 10取第 11-20 條數(shù)據(jù)
隨機取 N 條ORDER BY RAND() LIMIT 3隨機返回 3 條數(shù)據(jù)
統(tǒng)計總數(shù)SELECT COUNT(*) FROM users;獲取總記錄數(shù)
優(yōu)化大偏移WHERE id > (SELECT id FROM users LIMIT 100000, 1) LIMIT 10;避免 OFFSET 性能問題

?? 重點總結(jié)

LIMIT 限制查詢返回的行數(shù),用于分頁或取部分數(shù)據(jù)。

LIMIT 偏移量, 行數(shù) 等價于 LIMIT 行數(shù) OFFSET 偏移量

ORDER BY + LIMIT 確保數(shù)據(jù)順序穩(wěn)定。

ORDER BY RAND() 效率低,大數(shù)據(jù)表建議用更優(yōu)化的隨機查詢。

OFFSET 查詢效率低,建議用索引優(yōu)化查詢。

這樣,你的 LIMIT 查詢就會更快、更高效!??

到此這篇關(guān)于MySQL 中的 LIMIT 語句的文章就介紹到這了,更多相關(guān)mysql limit語句內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Windows下使用Cygwin編譯MySQL客戶端

    Windows下使用Cygwin編譯MySQL客戶端

    這篇文章主要介紹了Windows下使用Cygwin編譯MySQL客戶端,本文詳細的講解了編譯過程,需要的朋友可以參考下
    2015-04-04
  • MySQL 文本文件的導(dǎo)入導(dǎo)出數(shù)據(jù)的方法

    MySQL 文本文件的導(dǎo)入導(dǎo)出數(shù)據(jù)的方法

    但有時為了更快速地插入大批量數(shù)據(jù)或交換數(shù)據(jù),需要從文本中導(dǎo)入數(shù)據(jù)或?qū)С鰯?shù)據(jù)到文本。下面的具體的方法大家可以參考下。多測試。
    2009-11-11
  • linux修改mysql數(shù)據(jù)庫文件的路徑

    linux修改mysql數(shù)據(jù)庫文件的路徑

    在網(wǎng)上找了好多,沒有確定哪個是最終的答案,由于網(wǎng)站在運行中,實在不敢輕易動手,怎么奈我是個菜鳥呢!先把找到的東西簡單記錄一下,回頭再說
    2012-01-01
  • 如何安全地關(guān)閉MySQL

    如何安全地關(guān)閉MySQL

    這篇文章主要介紹了如何安全地關(guān)閉MySQL,幫助大家更好的理解和使用MySQL,感興趣的朋友可以了解下
    2020-12-12
  • mysql拆分字符串作為查詢條件的示例代碼

    mysql拆分字符串作為查詢條件的示例代碼

    本文主要介紹了mysql拆分字符串作為查詢條件的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-07-07
  • 最新評論

    浦城县| 绵竹市| 交口县| 临安市| 汝南县| 新化县| 阳山县| 元谋县| 普兰县| 德保县| 汝南县| 东乡族自治县| 永城市| 金溪县| 密云县| 沙坪坝区| 商城县| 前郭尔| 恩施市| 河池市| 丹寨县| 乐亭县| 晋城| 郑州市| 安溪县| 洪江市| 延庆县| 旬阳县| 乌兰县| 山西省| 巴中市| 福州市| 临猗县| 乐至县| 清新县| 丹东市| 昭苏县| 商洛市| 金山区| 宜兰市| 庆元县|