Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Aggregate Function

max — maximum value of input values

Synopsis

max(number|string) -> number|string

Description

The max aggregate function computes the maximum value of its input.

When determining the max of string inputs, values are compared via byte order. This is equivalent to C/POSIX collation as found in other SQL databases such as Postgres.

Examples

Maximum value of simple numeric sequence:

# spq
max(this)
# input
1
2
3
4
# expected output
4

Maximum of several string values:

# spq
max(this)
# input
"bar"
"foo"
"baz"
# expected output
"foo"

A mix of string and numeric input values results in an error:

# spq
max(this)
# input
1
"foo"
2
# expected output
error("mixture of string and numeric values")

Other unrecognized types in mixed input are ignored:

# spq
max(this)
# input
1
2
3
4
127.0.0.1
# expected output
4

Maximum value within buckets grouped by key:

# spq
max(a) by k | sort
# input
{a:1,k:1}
{a:2,k:1}
{a:3,k:2}
{a:4,k:2}
# expected output
{k:1,max:2}
{k:2,max:4}