從資料庫表中提取第 n 行是資料操作和分析中的常見任務。 雖然每個資料庫系統都有自己的方法,但使用與資料庫無關的方法可以提供更大的靈活性和可移植性。
標準方法:視窗函數
SQL 標準合併了視窗函數,可以跨有序表行進行計算。 ROW_NUMBER()
函數為每一行指派一個唯一的編號,讓您篩選所需的第 n 行。
<code class="language-sql">SELECT * FROM ( SELECT ROW_NUMBER() OVER (ORDER BY <column_name>) AS rownumber, <other_columns> FROM <table_name> ) AS ranked_rows WHERE rownumber = <n>;</code>
特定於資料庫的替代方案
如果您的資料庫不支援視窗函數,請考慮以下特定於資料庫的選項:
LIMIT
和 OFFSET
子句:<code class="language-sql">SELECT * FROM <table_name> LIMIT 1 OFFSET <n>;</code>
ROW_NUMBER()
函數:<code class="language-sql">WITH NumberedRows AS ( SELECT ROW_NUMBER() OVER (ORDER BY <column_name>) AS RowNumber, <other_columns> FROM <table_name> ) SELECT * FROM NumberedRows WHERE RowNumber = <n>;</code>
延伸閱讀
以上是如何使用與資料庫無關的方法從資料庫表中選擇第 n 行?的詳細內容。更多資訊請關注PHP中文網其他相關文章!