Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Mendapatkan Baris Nth dari Jadual Pangkalan Data Tanpa mengira DBMS?

Bagaimana untuk Mendapatkan Baris Nth dari Jadual Pangkalan Data Tanpa mengira DBMS?

Susan Sarandon
Susan Sarandonasal
2025-01-20 16:57:12877semak imbas

How to Retrieve the Nth Row from a Database Table Regardless of the DBMS?

Kaedah Bebas Pangkalan Data untuk Mendapatkan Kembali Baris Ke-N

Ikhtisar

Mengakses baris jadual pangkalan data tertentu mengikut kedudukannya adalah tugas yang kerap. Walaupun sistem pangkalan data individu (DBMS) menyediakan kaedah mereka sendiri, beberapa pendekatan berfungsi merentasi platform pangkalan data yang berbeza.

Teknik Merentas DBMS

  • Klausa HAD OFFSET:

    • PostgreSQL, MySQL: Gunakan SELECT ... LIMIT y OFFSET x
  • Fungsi Tetingkap:

    • Oracle, SQL Server, DB2: Gunakan fungsi tetingkap seperti berikut:
    <code class="language-sql">  SELECT * FROM (
        SELECT
          ROW_NUMBER() OVER (ORDER BY key ASC) AS rownumber,
          columns
        FROM tablename
      ) AS foo
      WHERE rownumber = n</code>

Penyelesaian Khusus DBMS

  • SQL Server: Pendekatan fungsi tetingkap (seperti yang diterangkan di atas) boleh digunakan.

  • MySQL: Klausa OFFSET-LIMIT (seperti yang diterangkan di atas) ialah kaedah pilihan.

  • PostgreSQL: Kedua-dua fasal OFFSET-LIMIT dan fungsi tetingkap (untuk versi 8.4 dan lebih baru) adalah sesuai.

  • SQLite: Sokongan untuk kedua-dua OFFSET-LIMIT dan fungsi tetingkap tersedia dalam versi 3.25.0 dan lebih baru.

  • Oracle: Kaedah fungsi tetingkap (seperti yang diperincikan sebelum ini) ialah pendekatan standard.

Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan Baris Nth dari Jadual Pangkalan Data Tanpa mengira DBMS?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn