首頁 > 資料庫 > mysql教程 > 如何在 SQL Server 中實作與 MySQL 的 LIMIT 子句等效的功能?

如何在 SQL Server 中實作與 MySQL 的 LIMIT 子句等效的功能?

DDD
發布: 2025-01-14 11:30:43
原創
257 人瀏覽過

How to Implement the Equivalent of MySQL's LIMIT Clause in SQL Server?

在 SQL Server 複製 MySQL 的 LIMIT

MySQL 的 LIMIT 子句限制傳回的行數。 SQL Server 使用 TOP 子句來實現這一點。 以下是獲得相同功能的方法:

SQL Server 2005 及更高版本

對於 SQL Server 2005 及後續版本,常見的方法是使用 ROW_NUMBER():

<code class="language-sql">SELECT *
FROM (
    SELECT *, ROW_NUMBER() OVER (ORDER BY Id) as RowNum
    FROM OrderedOrders
) as RankedOrders
WHERE RowNum BETWEEN 10 AND 20;</code>
登入後複製

這會為每一行分配一個唯一的排名,然後根據該排名進行過濾。

SQL Server 2000 及更早版本

在舊版(SQL Server 2000及以下)中,需要巢狀SELECT語句:

<code class="language-sql">SELECT TOP 10 * 
FROM (SELECT TOP 20 * FROM Table ORDER BY Id) as SubQuery
ORDER BY Id DESC;</code>
登入後複製

這首先選擇前 20 行,然後從該子集中選擇前 10 行。請注意輔助 ORDER BY 子句對於一致結果的重要性。 兩個查詢中的順序對於取得所需的行至關重要。

以上是如何在 SQL Server 中實作與 MySQL 的 LIMIT 子句等效的功能?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板