Aggregation Functions

agg.first()

Get the first non-null element from a list.

Syntax: agg.first(list)

Returns: Any - First non-null value

APOC Compatible: apoc.agg.first

RETURN agg.first([null, "a", "b"]) AS result
// Returns: "a"

agg.last()

Get the last non-null element from a list.

Syntax: agg.last(list)

Returns: Any - Last non-null value

APOC Compatible: apoc.agg.last


agg.maxItems()

Get items with maximum value.

Syntax: agg.maxItems(list, valueFunction)

Returns: List - Items with maximum value

APOC Compatible: apoc.agg.maxItems


agg.median()

Calculate the median of a list of numbers.

Syntax: agg.median(list)

Returns: Double - Median value

APOC Compatible: apoc.agg.median

RETURN agg.median([1, 2, 3, 4, 5]) AS result
// Returns: 3.0

RETURN agg.median([1, 2, 3, 4]) AS result
// Returns: 2.5

agg.minItems()

Get items with minimum value.

Syntax: agg.minItems(list, valueFunction)

Returns: List - Items with minimum value

APOC Compatible: apoc.agg.minItems


agg.nth()

Get the nth element from a list.

Syntax: agg.nth(list, n)

Returns: Any - Element at index n

APOC Compatible: apoc.agg.nth


agg.percentiles()

Calculate percentiles of a list of numbers.

Syntax: agg.percentiles(list, percentiles)

Returns: List - Percentile values

APOC Compatible: apoc.agg.percentiles


agg.product()

Calculate the product of a list of numbers.

Syntax: agg.product(list)

Returns: Double - Product of all values

APOC Compatible: apoc.agg.product


agg.slice()

Get a slice of a list.

Syntax: agg.slice(list, start, [end])

Returns: List - Sliced list

APOC Compatible: apoc.agg.slice


agg.statistics()

Get full statistics for a list of numbers.

Syntax: agg.statistics(list)

Returns: Map - Statistics map with count, min, max, sum, mean, stdev, median

APOC Compatible: apoc.agg.statistics

RETURN agg.statistics([1, 2, 3, 4, 5]) AS stats
// Returns: {count: 5, min: 1.0, max: 5.0, sum: 15.0, mean: 3.0, stdev: 1.414, median: 3.0}