Aggregate

ANY_VALUE

DuckDBDuckDB

Mengembalikan nilai sembarang (arbitrary) dari grup. Berguna ketika kita tahu semua nilai dalam grup sama, atau tidak peduli nilai mana yang dipilih.

Tipe hasil: Sama dengan tipe inputDiperbarui: 6 Jan 2026

Syntax

SQL
ANY_VALUE(expression)

Parameter

expressionanywajib

Kolom atau ekspresi yang akan diambil salah satu nilainya

Contoh Penggunaan

Mengambil Nilai yang Sama dalam Grup

SQL
1SELECT
2 order_id,
3 ANY_VALUE(customer_name) as customer,
4 SUM(amount) as total
5FROM order_items
6JOIN orders USING (order_id)
7GROUP BY order_id;

Customer name sama untuk semua item dalam satu order, jadi ANY_VALUE aman digunakan.

Hasil
order_idcustomertotal
1001Budi5500000
1002Ani2300000

Menghindari GROUP BY Error

SQL
1SELECT
2 department_id,
3 ANY_VALUE(department_name) as dept_name,
4 COUNT(*) as employee_count,
5 AVG(salary) as avg_salary
6FROM employees
7JOIN departments USING (department_id)
8GROUP BY department_id;

department_name pasti sama untuk setiap department_id, gunakan ANY_VALUE.

Hasil
department_iddept_nameemployee_countavg_salary
1IT2515000000
2Sales4012000000

Sampling Nilai dari Grup

SQL
1SELECT
2 category,
3 ANY_VALUE(product_name) as sample_product,
4 COUNT(*) as product_count
5FROM products
6GROUP BY category;

Mengambil contoh satu produk dari setiap kategori.

Hasil
categorysample_productproduct_count
ElectronicsLaptop150
ClothingT-Shirt320