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: 16 Mei 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

Pertanyaan Umum tentang FIRST

Apa itu fungsi FIRST di DuckDB?
Mengembalikan nilai pertama dari sebuah kolom dalam group. Tanpa ORDER BY, hasilnya non-deterministik (bisa berubah-ubah). Di DuckDB, fungsi FIRST termasuk dalam kelompok fungsi yang sering digunakan untuk mengolah dan menganalisis data secara efisien.
Bagaimana cara menggunakan FIRST di DuckDB?
Gunakan sintaks berikut: FIRST(expression [ORDER BY sort_expression]). Pastikan argumen yang dimasukkan sudah sesuai dengan tipe data yang diharapkan.
Apa nilai yang dikembalikan oleh fungsi FIRST?
Fungsi FIRST mengembalikan nilai bertipe Sama dengan tipe input. 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 FIRST?
Fungsi ini memiliki 1 parameter wajib dan 1 parameter opsional. Parameter yang digunakan: expression (any, wajib): Kolom atau ekspresi yang akan diambil nilai pertamanya; ORDER BY (clause, opsional): Opsional tapi direkomendasikan. Menentukan urutan untuk menentukan 'pertama'.