Window

NTH_VALUE

MySQLMySQL

Mengembalikan nilai dari baris ke-n dalam window frame. Generalisasi dari FIRST_VALUE dan LAST_VALUE.

Tipe hasil: Same as exprDiperbarui: 16 Mei 2026

Syntax

SQL
NTH_VALUE(expr, n) OVER ([PARTITION BY col] ORDER BY col [frame_clause])

Parameter

exprexpressionwajib

Kolom atau ekspresi yang diambil nilainya

nintegerwajib

Posisi baris yang diinginkan (dimulai dari 1)

ORDER BYcolumn(s)wajib

Kolom untuk menentukan urutan

PARTITION BYcolumn(s)opsional

Kolom untuk membagi data menjadi grup (opsional)

Contoh Penggunaan

Nilai ke-2

SQL
1SELECT name, score,
2 NTH_VALUE(score, 2) OVER (
3 ORDER BY score DESC
4 ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
5 ) AS second_highest
6FROM students;

Mendapatkan skor tertinggi kedua.

Hasil
(second highest score for comparison)

Median Sederhana

SQL
1SELECT name, salary,
2 NTH_VALUE(salary, 3) OVER (
3 ORDER BY salary
4 ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
5 ) AS third_salary
6FROM top5_employees;

Mengambil nilai ke-3 dari 5 data (median).

Hasil
(third value as median)

Podium per Kategori

SQL
1SELECT category, product, sales,
2 NTH_VALUE(product, 1) OVER w AS gold,
3 NTH_VALUE(product, 2) OVER w AS silver,
4 NTH_VALUE(product, 3) OVER w AS bronze
5FROM products
6WINDOW w AS (
7 PARTITION BY category
8 ORDER BY sales DESC
9 ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
10);

Top 3 produk per kategori.

Hasil
(gold, silver, bronze per category)

Pertanyaan Umum tentang NTH_VALUE

Apa itu fungsi NTH_VALUE di MySQL?
Mengembalikan nilai dari baris ke-n dalam window frame. Generalisasi dari FIRST_VALUE dan LAST_VALUE. Di MySQL, fungsi NTH_VALUE termasuk dalam kelompok fungsi yang sering digunakan untuk mengolah dan menganalisis data secara efisien.
Bagaimana cara menggunakan NTH_VALUE di MySQL?
Gunakan sintaks berikut: NTH_VALUE(expr, n) OVER ([PARTITION BY col] ORDER BY col [frame_clause]). Pastikan argumen yang dimasukkan sudah sesuai dengan tipe data yang diharapkan.
Apa nilai yang dikembalikan oleh fungsi NTH_VALUE?
Fungsi NTH_VALUE mengembalikan nilai bertipe Same as expr. Pastikan tipe data hasil sudah sesuai dengan kebutuhan query atau formula kamu. Jika input mengandung nilai NULL, perilaku fungsi dapat berbeda — selalu periksa dokumentasi untuk memastikan hasilnya sesuai ekspektasi.
Apa saja parameter fungsi NTH_VALUE?
Fungsi ini memiliki 3 parameter wajib dan 1 parameter opsional. Parameter yang digunakan: expr (expression, wajib): Kolom atau ekspresi yang diambil nilainya; n (integer, wajib): Posisi baris yang diinginkan (dimulai dari 1); PARTITION BY (column(s), opsional): Kolom untuk membagi data menjadi grup (opsional); ORDER BY (column(s), wajib): Kolom untuk menentukan urutan.