Aggregate

ANY_VALUE

MySQLMySQL

Mengembalikan salah satu nilai dari grup tanpa menentukan mana yang dipilih. Berguna untuk menghindari error ONLY_FULL_GROUP_BY.

Tipe hasil: Same as input typeDiperbarui: 7 Jan 2026

Syntax

SQL
ANY_VALUE(expr)

Parameter

expranywajib

Ekspresi yang akan diambil salah satu nilainya

Contoh Penggunaan

Menghindari ONLY_FULL_GROUP_BY Error

SQL
1SELECT department_id,
2 ANY_VALUE(department_name) AS dept_name,
3 COUNT(*) AS emp_count
4FROM employees
5GROUP BY department_id;

Mengambil nama departemen tanpa memasukkannya ke GROUP BY.

Hasil
dept_id: 1, dept_name: Sales, emp_count: 25

ANY_VALUE dengan Subquery

SQL
1SELECT user_id,
2 ANY_VALUE(username) AS username,
3 SUM(order_total) AS total_spent
4FROM orders o
5JOIN users u ON o.user_id = u.id
6GROUP BY user_id;

Mengambil username dari join tanpa GROUP BY.

Hasil
user_id: 1, username: john_doe, total_spent: 1500

Kolom dengan Nilai Sama

SQL
1SELECT order_id,
2 ANY_VALUE(customer_name) AS customer,
3 COUNT(*) AS item_count
4FROM order_items oi
5JOIN orders o ON oi.order_id = o.id
6GROUP BY order_id;

Customer name sama untuk semua item dalam order yang sama.

Hasil
order_id: 100, customer: Alice, item_count: 5

Fungsi Equivalen di Database Lain