Aggregate
DuckDB
ANY_VALUE
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 2026Syntax
SQL
ANY_VALUE(expression)Parameter
expressionanywajib
Kolom atau ekspresi yang akan diambil salah satu nilainya
Contoh Penggunaan
Mengambil Nilai yang Sama dalam Grup
SQL
1 SELECT 2 order_id, 3 ANY_VALUE(customer_name) as customer, 4 SUM(amount) as total 5 FROM order_items 6 JOIN orders USING (order_id) 7 GROUP BY order_id;
Customer name sama untuk semua item dalam satu order, jadi ANY_VALUE aman digunakan.
Hasil
| order_id | customer | total |
|---|---|---|
| 1001 | Budi | 5500000 |
| 1002 | Ani | 2300000 |
Menghindari GROUP BY Error
SQL
1 SELECT 2 department_id, 3 ANY_VALUE(department_name) as dept_name, 4 COUNT(*) as employee_count, 5 AVG(salary) as avg_salary 6 FROM employees 7 JOIN departments USING (department_id) 8 GROUP BY department_id;
department_name pasti sama untuk setiap department_id, gunakan ANY_VALUE.
Hasil
| department_id | dept_name | employee_count | avg_salary |
|---|---|---|---|
| 1 | IT | 25 | 15000000 |
| 2 | Sales | 40 | 12000000 |
Sampling Nilai dari Grup
SQL
1 SELECT 2 category, 3 ANY_VALUE(product_name) as sample_product, 4 COUNT(*) as product_count 5 FROM products 6 GROUP BY category;
Mengambil contoh satu produk dari setiap kategori.
Hasil
| category | sample_product | product_count |
|---|---|---|
| Electronics | Laptop | 150 |
| Clothing | T-Shirt | 320 |