Aggregate

FIRST

DuckDBDuckDB

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 2026

Syntax

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
1SELECT
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
5FROM orders
6GROUP BY customer_id;

Mendapatkan order pertama untuk setiap customer.

Hasil
customer_idfirst_order_idfirst_order_date
11012023-01-15
22052023-02-20

FIRST dengan FILTER

SQL
1SELECT
2 category,
3 FIRST(name ORDER BY price DESC) as most_expensive,
4 FIRST(name ORDER BY price ASC) as cheapest
5FROM products
6GROUP BY category;

Mendapatkan produk termahal dan termurah per kategori.

Hasil
categorymost_expensivecheapest
ElectronicsMacBook ProUSB Cable
ClothingWinter JacketSocks