Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Memilih Julat Baris Tertentu Menggunakan ROWNUM dalam SQL?

Bagaimanakah Saya Boleh Memilih Julat Baris Tertentu Menggunakan ROWNUM dalam SQL?

Linda Hamilton
Linda Hamiltonasal
2025-01-06 03:33:52196semak imbas

How Can I Select a Specific Range of Rows Using ROWNUM in SQL?

Mengembalikan Julat Khusus Nilai ROWNUM dalam SQL

Apabila bekerja dengan data dalam SQL, selalunya berguna untuk dapat memilih julat baris tertentu berdasarkan nombor barisnya. Lajur pseudo ROWNUM menyediakan cara yang mudah untuk merujuk kedudukan baris dalam set hasilnya.

Masalah:

Pertimbangkan pertanyaan berikut:

select * from maps006 where rownum >49 and rownum <101

Pertanyaan ini bertujuan untuk mengembalikan semua baris daripada jadual maps006 dengan nombor baris lebih besar daripada 49 dan kurang daripada 101. Walau bagaimanapun, ia hanya mengembalikan baris yang memuaskan pengendali kurang daripada (<), mengabaikan pengendali lebih besar daripada (>).

Penyelesaian:

Untuk mendapatkan semula baris dengan betul dalam julat yang ditentukan, anda boleh menggunakan subquery untuk membuat jadual sementara yang merangkumi lajur baharu dipanggil r untuk nombor baris. Pertanyaan berikut mencapai ini:

SELECT * from
(
  select m.*, rownum r
  from maps006 m
)
where r > 49 and r < 101
  • Subkueri dalam memilih semua lajur (m.*) daripada jadual maps006 dan menambah lajur baharu bernama r yang mengandungi nombor baris.
  • Pertanyaan luar kemudian menapis jadual sementara berdasarkan julat baris yang dikehendaki nombor.

Dengan menggunakan pendekatan ini, anda boleh mengembalikan baris yang berada dalam julat ROWNUM yang ditentukan dengan berkesan.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Memilih Julat Baris Tertentu Menggunakan ROWNUM dalam 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