Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Mendapatkan Julat Baris Tertentu Menggunakan ROWNUM SQL?

Bagaimana untuk Mendapatkan Julat Baris Tertentu Menggunakan ROWNUM SQL?

DDD
DDDasal
2025-01-06 00:47:38460semak imbas

How to Retrieve a Specific Range of Rows Using SQL's ROWNUM?

Mendapatkan Julat Khusus Nilai SQL ROWNUM

Dalam SQL, pseudocolumn ROWNUM boleh digunakan untuk mendapatkan semula kedudukan baris semasa dalam hasil ditetapkan. Ia selalunya berguna apabila mengembalikan julat baris yang terhad. Walau bagaimanapun, pertanyaan semasa anda nampaknya menghadapi masalah dengan mengembalikan baris dalam julat tertentu.

Untuk membetulkannya, sedikit pengubahsuaian diperlukan. Daripada menggunakan pseudocolumn ROWNUM standard, anda harus menggunakan subquery untuk mencipta jadual sementara atau CTE (Ungkapan Jadual Biasa) yang merangkumi kedua-dua data asal dan nombor baris. Pendekatan ini memastikan bahawa nombor baris dinilai sebelum syarat penapisan digunakan.

Pertanyaan yang diperbetulkan akan kelihatan seperti ini:

SELECT *
FROM
(
  SELECT m.*, ROWNUM() OVER (ORDER BY m.id) AS r
  FROM maps006 m
)
WHERE r > 49 AND r < 101

Dalam pertanyaan ini:

  • ROWNUM() OVER (ORDER BY m.id) mencipta lajur baharu bernama r yang mengandungi nombor baris untuk setiap baris dalam jadual maps006, dipesan mengikut lajur id.
  • Subkueri dialiaskan sebagai m untuk memadankan nama jadual asal.
  • Pertanyaan utama kemudiannya menapis hasil subkueri menggunakan julat yang diingini untuk r (iaitu. , baris lebih besar daripada 49 dan kurang daripada 101).

Pertanyaan yang disemak ini sepatutnya berjaya mendapatkan semula baris dalam julat ROWNUM yang ditentukan.

Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan Julat Baris Tertentu Menggunakan ROWNUM SQL?. 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