Aggregate
DuckDB
FIRST
Mengembalikan nilai pertama dari sebuah kolom dalam group. Tanpa ORDER BY, hasilnya non-deterministik (bisa berubah-ubah).
Tipe hasil:
Sama dengan tipe inputDiperbarui: 6 Jan 2026Syntax
SQL
FIRST(expression [ORDER BY sort_expression])Parameter
expressionanywajib
Kolom atau ekspresi yang akan diambil nilai pertamanya
ORDER BYclauseopsional
Opsional tapi direkomendasikan. Menentukan urutan untuk menentukan 'pertama'
Contoh Penggunaan
Mengambil Order Pertama per Customer
SQL
1 SELECT 2 customer_id, 3 FIRST(order_id ORDER BY order_date) as first_order_id, 4 FIRST(order_date ORDER BY order_date) as first_order_date 5 FROM orders 6 GROUP BY customer_id;
Mendapatkan order pertama untuk setiap customer.
Hasil
| customer_id | first_order_id | first_order_date |
|---|---|---|
| 1 | 101 | 2023-01-15 |
| 2 | 205 | 2023-02-20 |
FIRST dengan FILTER
SQL
1 SELECT 2 category, 3 FIRST(name ORDER BY price DESC) as most_expensive, 4 FIRST(name ORDER BY price ASC) as cheapest 5 FROM products 6 GROUP BY category;
Mendapatkan produk termahal dan termurah per kategori.
Hasil
| category | most_expensive | cheapest |
|---|---|---|
| Electronics | MacBook Pro | USB Cable |
| Clothing | Winter Jacket | Socks |