Mengembalikan nilai pada posisi ke-n dalam window frame. Mengembalikan NULL jika tidak ada cukup baris. n dimulai dari 1.
same as inputDiperbarui: 12 Jul 2026NTH_VALUE(expression, n) OVER (
[PARTITION BY partition_expression]
ORDER BY sort_expression
[frame_clause]
)Kolom atau ekspresi yang nilainya diambil
Posisi nilai yang diambil (1-based)
Menentukan urutan dalam window
Membagi data menjadi grup terpisah
1 SELECT 2 category, 3 product_name, 4 sales, 5 NTH_VALUE(product_name, 2) OVER ( 6 PARTITION BY category 7 ORDER BY sales DESC 8 ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING 9 ) AS second_best 10 FROM products;
Mengambil produk dengan penjualan kedua tertinggi per kategori.
| category | product_name | sales | second_best |
|---|---|---|---|
| Electronics | Laptop | 1000 | Phone |
| Electronics | Phone | 800 | Phone |
| Electronics | Tablet | 600 | Phone |
1 SELECT DISTINCT 2 category, 3 NTH_VALUE(product_name, 1) OVER w AS top_1, 4 NTH_VALUE(product_name, 2) OVER w AS top_2, 5 NTH_VALUE(product_name, 3) OVER w AS top_3 6 FROM products 7 WINDOW w AS ( 8 PARTITION BY category 9 ORDER BY sales DESC 10 ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING 11 );
Mengambil top 3 produk per kategori dalam satu row.
1 SELECT 2 NTH_VALUE(score, (COUNT(*) OVER () + 1) / 2) OVER ( 3 ORDER BY score 4 ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING 5 ) AS median_ish 6 FROM test_scores;
Pendekatan alternatif untuk mencari median.
Sudah paham NTH_VALUE? Latih langsung di browser
Latihan interaktif, langsung di browser.
FIRST_VALUE