Aggregation Functions
count()
Signature:
count(*) -> BIGINTReturns the number of input rows.
count(x: T) -> BIGINTReturns the count of non-null input values.
Example:
MATCH (n:Person) RETURN count(*) AS total_people;
MATCH (n:Person) RETURN count(n.age) AS known_ages;sum()
Signature:
sum(x: NUMERIC) -> BIGINT | FLOAT | DOUBLEReturns the sum of all input values.
Example:
MATCH (n:Transaction) RETURN sum(n.amount) AS total_amount;min()
Signature:
min(x: T) -> TReturns the minimum value among all input values, ignoring nulls. x must not contain nulls if it is a complex type.
Example:
MATCH (n:Product) RETURN min(n.price) AS lowest_price;max()
Signature:
max(x: T) -> TReturns the maximum value among all input values, ignoring nulls. x must not contain nulls if it is a complex type.
Example:
MATCH (n:Product) RETURN max(n.price) AS highest_price;avg()
Signature:
avg(x: NUMERIC) -> FLOAT | DOUBLEReturns the average (arithmetic mean) of all non-null input values.
Example:
MATCH (n:Student) RETURN avg(n.grade) AS average_grade;variance()
Signature:
variance(x: NUMERIC) -> DoubleReturns the sample variance of all input values.
Example:
MATCH (n:Employee) RETURN variance(n.salary) AS salary_variance;stddev()
Signature:
stddev(x: NUMERIC) -> DoubleReturns the sample standard deviation of all input values.
Example:
MATCH (n:Employee) RETURN stddev(n.salary) AS salary_stddev;count_if()
Signature:
count_if(x: BOOLEAN) -> BIGINTReturns the count of TRUE input values, equivalent to count(CASE WHEN x THEN 1 END).
Example:
MATCH (n:Person) RETURN count_if(n.active) AS active_count;set_agg()
Signature:
set_agg(x: T) -> ARRAY<T>Returns a list created from distinct input x elements. For complex types, x must not contain nulls.
Example:
MATCH (n:Person) RETURN set_agg(n.city) AS unique_cities;array_agg()
Signature:
array_agg(x: T) -> ARRAY<T>Returns a list created from the input x elements.
Example:
MATCH (n:Person) RETURN array_agg(n.name) AS names;