在 SQL 中,OFFSET
子句用于在分頁查詢中控制結果集的起始位置。當我們需要從數據庫中檢索大量記錄時,通常會使用分頁技術來限制每次查詢返回的記錄數量,以提高性能和用戶體驗。
OFFSET
子句可以與 LIMIT
子句一起使用,以便更好地控制分頁查詢的結果集。LIMIT
子句用于限制查詢返回的記錄數量,而 OFFSET
子句則用于指定查詢結果集的起始位置。
例如,假設我們有一個包含 100 條記錄的表,我們希望每頁顯示 10 條記錄。為了獲取第 3 頁的記錄,我們可以使用以下 SQL 查詢:
SELECT * FROM table_name
ORDER BY column_name
LIMIT 10 OFFSET 20;
在這個例子中,LIMIT 10
表示我們希望每頁顯示 10 條記錄,OFFSET 20
表示我們希望從第 21 條記錄開始(即跳過前 20 條記錄)。因此,查詢將返回第 21 到 30 條記錄,即第 3 頁的記錄。
需要注意的是,OFFSET
子句的值是從 0 開始計數的,所以 OFFSET 20
實際上表示跳過前 21 條記錄。同時,OFFSET
子句通常與 ORDER BY
子句一起使用,以確保查詢結果的順序是可預測的。