在 MySQL 中選擇前 N 行

Mehvish Ashiq 2024年2月15日
  1. 使用 LIMIT 子句選擇 MySQL 中的前 N ​​行
  2. まとめ
在 MySQL 中選擇前 N 行

有時,你必須根據專案要求選擇 MySQL 資料庫的前 N ​​行。

n 的值根據要求而變化;它可以是 TOP 1 行或 TOP 30 行。我們將學習如何使用 MySQL 資料庫中的 LIMIT 子句選擇前 N 行。

你可以通過在分頁中使用這些查詢、查詢最近的購買或交易來從這些查詢中受益。同樣重要的是要注意每個資料庫都有不同的語法來完成此功能。

SQL Server 使用 SELECT TOP,MySQL 使用 LIMIT,Oracle 使用 ROWNUMFETCH FIRST n ROWS ONLY

使用 LIMIT 子句選擇 MySQL 中的前 N ​​行

使用 Top N 查詢意味著你希望將結果限制為一定數量的行。這些用於從結果集中獲取最佳或最近的行。

在本教程中,我們使用了一個名為 customer 的表,其中包含 customer_idcustomer_firstnamecustomer_lastnamecustomer_age。我們用一些目前看起來如下的資料填充了這個 customer 表。

選擇 mysql 中的前 n 行 - 客戶資料

我們將使用 customer 表來練習 MySQL 中的 LIMIT。我們想從 customer 表中選擇 TOP 3 記錄。

示例程式碼:

SELECT * FROM customer LIMIT 3;

輸出:

選擇 mysql 中的前 n 行 - 前三條記錄

我們希望獲得三個最年輕的客戶並對其進行分析以進行預測。你可以看到以下程式碼示例。

示例程式碼:

SELECT * FROM customer
ORDER BY customer_age ASC
LIMIT 3;

首先,表格資料將根據 customer_age 進行排序。最年輕的客戶將位於頂部,年長的將位於底部。

然後從有序資料的結果集中選擇前 3 行。請參閱以下螢幕截圖。

輸出:

選擇 mysql 中的前 n 行 - 三個年輕客戶

如果要從偏移量 3 開始選擇前 4 行怎麼辦?你可以使用以下語法來做到這一點。

SELECT * FROM you_table_name
ORDER BY column_name ASC
LIMIT offset,row_count;

永遠記住,LIMIT 子句中第一行的 offset0 開始。這是此方案的示例程式碼。

示例程式碼:

SELECT * FROM customer
ORDER BY customer_age ASC
LIMIT 3,4;

輸出:

在 mysql 中選擇前 n 行 - 限制三到五行

或者,我們也可以通過以下方式使用帶有行數和偏移量的 LIMIT 子句。

# You can also write the above query in this way
SELECT * FROM person.customer
ORDER BY customer_age ASC
LIMIT 1 OFFSET 4;

輸出:

在 mysql 中選擇前 n 行 - 限制偏移量

你還可以通過將查詢中的 ASC 替換為 DESC 以降序排列你的表格。

まとめ

我們得出的結論是,我們可以根據專案要求限制結果集中的行數。

我們可以選擇從 m 開始的前 n 行或前 n 行。我們還瞭解到 LIMIT 子句可以在有/沒有 ORDER BY 的情況下使用。

作者: Mehvish Ashiq
Mehvish Ashiq avatar Mehvish Ashiq avatar

Mehvish Ashiq is a former Java Programmer and a Data Science enthusiast who leverages her expertise to help others to learn and grow by creating interesting, useful, and reader-friendly content in Computer Programming, Data Science, and Technology.

LinkedIn GitHub Facebook

相關文章 - MySQL Database