Aggregate
BigQuery
MAX
Mengembalikan nilai maksimum dari sebuah kolom atau ekspresi. Mendukung tipe numerik, string, date/time, dan boolean di BigQuery.
Tipe hasil:
Sama dengan tipe inputDiperbarui: 7 Jan 2026Syntax
SQL
MAX(expression)Parameter
expressionanywajib
Kolom atau ekspresi yang akan dicari nilai maksimumnya. Mendukung INT64, FLOAT64, STRING, DATE, TIMESTAMP, dll.
Contoh Penggunaan
Nilai Maksimum Sederhana
SQL
1 SELECT MAX(salary) as highest_salary 2 FROM `project.dataset.employees` 3 WHERE department = 'Engineering';
Mencari gaji tertinggi di departemen Engineering.
Hasil
35000000
MAX dengan GROUP BY
SQL
1 SELECT 2 region, 3 MAX(revenue) as highest_revenue, 4 MAX(order_count) as most_orders 5 FROM `project.dataset.store_performance` 6 GROUP BY region 7 ORDER BY highest_revenue DESC;
Mencari revenue dan order tertinggi per region.
Hasil
| region | highest_revenue | most_orders |
|---|---|---|
| Jakarta | 5250000000 | 125000 |
| Surabaya | 2800000000 | 78000 |
| Bandung | 1950000000 | 52000 |
MAX pada Timestamp
SQL
1 SELECT 2 user_id, 3 MAX(login_timestamp) as last_login 4 FROM `project.dataset.user_sessions` 5 GROUP BY user_id 6 HAVING MAX(login_timestamp) < TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 30 DAY);
Mencari user yang tidak login lebih dari 30 hari.
Hasil
| user_id | last_login |
|---|---|
| U1234 | 2024-05-15 08:30:00 UTC |
| U5678 | 2024-05-10 14:22:00 UTC |
MAX dengan ARRAY_AGG
SQL
1 SELECT 2 department, 3 MAX(salary) as max_salary, 4 ARRAY_AGG(employee_name ORDER BY salary DESC LIMIT 1)[OFFSET(0)] as top_earner 5 FROM `project.dataset.employees` 6 GROUP BY department;
Mencari gaji tertinggi dan nama karyawan dengan gaji tertinggi per departemen.
Hasil
| department | max_salary | top_earner |
|---|---|---|
| Engineering | 35000000 | John Doe |
| Marketing | 28000000 | Jane Smith |
| Operations | 22000000 | Bob Wilson |