Kaedah pemilihan baris Nth bebas pangkalan data
Memilih baris tertentu daripada jadual pangkalan data ialah tugas biasa dalam pemprosesan data. Walaupun sesetengah pangkalan data menyediakan fungsi asli untuk ini, terdapat juga kaedah bebas pangkalan data yang boleh digunakan.
PostgreSQL dan MySQL menyokong klausa OFFSET dan LIMIT:
<code class="language-sql">SELECT * FROM table_name LIMIT y OFFSET x</code>
Di mana x mewakili indeks baris pertama yang akan dikembalikan, dan y mewakili bilangan baris yang akan diperolehi.
Fungsi tetingkap sokongan Oracle, SQL Server dan DB2, termasuk ROW_NUMBER():
<code class="language-sql">SELECT * FROM ( SELECT ROW_NUMBER() OVER (ORDER BY key ASC) AS rownumber, columns FROM table_name ) AS foo WHERE rownumber = n</code>
Di sini, fungsi ROW_NUMBER() memberikan nombor siri bermula dari 1 kepada setiap baris. Dengan menapis nombor baris, baris yang dikehendaki boleh diambil semula.
Dalam SQL Server, anda boleh menggunakan CTE (Common Table Expression) dengan ROW_NUMBER() subquery:
<code class="language-sql">WITH Ordered AS ( SELECT ROW_NUMBER() OVER (ORDER BY OrderID) AS RowNumber, OrderID, OrderDate FROM Orders) SELECT * FROM Ordered WHERE RowNumber = 1000000</code>
Kaedah ini amat berguna apabila memilih baris terakhir dalam jadual.
Perlu diingat bahawa pangkalan data yang berbeza mungkin melaksanakan kaedah ini dengan ciri prestasi yang berbeza. Sesetengah pangkalan data mungkin menyokong kaedah lain atau menyediakan pengoptimuman untuk senario tertentu. Ia sentiasa disyorkan untuk merujuk dokumentasi untuk pangkalan data khusus yang anda gunakan untuk pendekatan yang paling cekap.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Memilih Baris Nth daripada Jadual Pangkalan Data Menggunakan Kaedah Pangkalan Data-Agnostik?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!