Rumah > pangkalan data > Oracle > teks badan

Bagaimana untuk mendapatkan sekeping data pertama selepas mengisih dalam Oracle

下次还敢
Lepaskan: 2024-05-07 15:33:18
asal
613 orang telah melayarinya

Dua kaedah untuk mendapatkan sekeping data pertama selepas mengisih dalam Oracle: gunakan lajur pseudo ROWNUM untuk mengehadkan pertanyaan untuk mengembalikan data dengan nombor baris semasa 1. Gunakan klausa FETCH FIRST 1 ROWS ONLY untuk mengehadkan pertanyaan untuk mengembalikan hanya 1 baris pertama dalam set hasil.

Bagaimana untuk mendapatkan sekeping data pertama selepas mengisih dalam Oracle

Dua kaedah untuk mendapatkan sekeping data pertama selepas mengisih dalam Oracle

Dalam Oracle, anda boleh menggunakan dua kaedah utama untuk mendapatkan sekeping data pertama selepas mengisih set data:

Gunakan lajur pseudo ROWNUM

ROWNUM Lajur pseudo mengembalikan nombor baris baris semasa dalam set hasil pertanyaan. Pertanyaan berikut menggunakan lajur pseudo ROWNUM untuk mendapatkan data pertama set data yang diisih: ROWNUM 伪列返回当前行在查询结果集中的行号。以下查询使用 ROWNUM 伪列获取排序后数据集的第一条数据:

<code class="sql">SELECT *
FROM (
  SELECT *
  FROM table_name
  ORDER BY column_name
)
WHERE ROWNUM = 1;</code>
Salin selepas log masuk

2. 使用 FETCH FIRST 1 ROWS ONLY 子句

FETCH FIRST 1 ROWS ONLY 子句限制查询只返回结果集中的前 1 行。以下查询使用 FETCH FIRST 1 ROWS ONLY 子句获取排序后数据集的第一条数据:

<code class="sql">SELECT *
FROM table_name
ORDER BY column_name
FETCH FIRST 1 ROWS ONLY;</code>
Salin selepas log masuk

示例:

假设我们有一个名为 "my_table" 的表,包含以下数据:

id name
1 John
2 Mary
3 Bob

以下查询将使用 ROWNUM 伪列获取按 "name" 列升序排序的第一个数据:

<code class="sql">SELECT *
FROM (
  SELECT *
  FROM my_table
  ORDER BY name
)
WHERE ROWNUM = 1;</code>
Salin selepas log masuk

结果:

id name
1 John

以下查询将使用 FETCH FIRST 1 ROWS ONLY

<code class="sql">SELECT *
FROM my_table
ORDER BY name
FETCH FIRST 1 ROWS ONLY;</code>
Salin selepas log masuk

2 Gunakan klausa FETCH FIRST 1 ROWS ONLY

FETCH FIRST 1 ROWS ONLY. mengehadkan pertanyaan untuk mengembalikan hanya 1 baris pertama dalam set hasil. Pertanyaan berikut menggunakan klausa <code>FETCH FIRST 1 ROWS ONLY untuk mendapatkan sekeping data pertama dalam set data yang diisih: rrreeeContoh: Andaikan kita mempunyai jadual bernama "my_table" yang mengandungi The data berikut: idnama
🎜🎜🎜1🎜🎜John🎜🎜🎜🎜2🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜 🎜🎜🎜🎜🎜Pertanyaan berikut akan menggunakan ROWNUM lajur pseudo mendapat data pertama diisih mengikut lajur "nama" dalam tertib menaik: 🎜rrreee🎜 Keputusan: 🎜🎜🎜🎜🎜id🎜🎜name🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜 🎜 🎜 Pertanyaan berikut akan menggunakan klausa FETCH FIRST 1 ROWS ONLY untuk mendapatkan data pertama diisih mengikut lajur "nama" dalam tertib menaik: 🎜rrreee🎜 Keputusan: 🎜🎜🎜🎜🎜id🎜🎜name 🎜🎜🎜🎜 🎜🎜1🎜🎜John🎜🎜🎜🎜

Atas ialah kandungan terperinci Bagaimana untuk mendapatkan sekeping data pertama selepas mengisih dalam Oracle. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!