Skip to main content

max

Introduced in: v1.1.0 Aggregate function that calculates the maximum across a group of values. Syntax
max(column)
Arguments
  • column — Column name or expression. Any
Returned value The maximum value across the group with type equal to that of the input. Any Examples Simple max example
Query
CREATE TABLE employees (name String, salary UInt32) ENGINE = Memory;
INSERT INTO employees VALUES ('Alice', 3000), ('Bob', 4000), ('Charlie', 3500);

SELECT max(salary) FROM employees;
Response
┌─max(salary)─┐
│        4000 │
└─────────────┘
Max with GROUP BY
Query
CREATE TABLE sales (department String, revenue UInt32) ENGINE = Memory;
INSERT INTO sales VALUES ('Engineering', 100000), ('Engineering', 120000), ('Marketing', 80000), ('Marketing', 90000);

SELECT department, max(revenue) FROM sales GROUP BY department ORDER BY department;
Response
┌─department──┬─max(revenue)─┐
│ Engineering │       120000 │
│ Marketing   │        90000 │
└─────────────┴──────────────┘
Note about non-aggregate maximum
Query
-- If you need non-aggregate function to choose a maximum of two values, see greatest():
SELECT greatest(a, b) FROM table;
Response
Last modified on June 8, 2026