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

min — minimum value of input values

Synopsis

min(number|string) -> number|string

Description

The min aggregate function computes the minimum value of its input.

When determining the min 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

Minimum value of simple numeric sequence:

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

Minimum of several string values:

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

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

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

Other unrecognized types in mixed input are ignored:

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

Minimum value within buckets grouped by key:

# spq
min(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,min:1}
{k:2,min:3}