Neo4j CQL - 聚集


像SQL,Neo4j的CQL提供了一些聚合函数的回报子句中使用。 它类似于GROUP BY的SQL子句

我们可以利用这个回报+聚合函数MATCH命令在一组节点的工作,返回一些聚合值。


聚合函数列表

S.No. 聚集功能 描述
1。 计数 它返回由MATCH命令返回的行数。
2。 MAX 它返回从一组由MATCH命令返回行的最大值。
3。 MIN 它返回从一组由MATCH命令返回行的最小值。
4。 它返回由MATCH命令返回的所有行的总和值。
5。 AVG 它返回由MATCH命令返回的所有行的平均值。

现在,我们将与实例详细讨论各定制列表Neo4j的聚合函数


计数

它从MATCH子句的结果和计算行数呈现在结果和回报计数值。 所有CQL函数应该使用“()”括号内。

函数的语法

COUNT(<value>)

注意 -

<值>可能是*,一个节点或关系标签名称或属性名称。

示例-

这个例子演示了如何使用COUNT(*)函数返回数据库中可用员工节点数量。

第1步 -在数据浏览器的美元提示符处键入以下命令。

MATCH (e:Employee) 
RETURN e.id,e.name,e.sal,e.deptno
Neo4j的CQL教程

第2步 -点击执行按钮,观察结果。

Neo4j的CQL教程

我们可以观察到,该查询返回4行。

第3步 -键入以下命令,然后单击执行按钮。

MATCH (e:Employee) RETURN COUNT(*)
Neo4j的CQL教程

因为数据库包含4个员工节点该查询返回值4。


MAX

故需设置一个节点或关系作为输入的行数和一<属性名>的并发现从给定的行的给予<属性名>列中的最小值。

函数的语法

MAX(<property-name> )

MIN

故需设置一个节点或关系作为输入的行数和一<属性名>的并发现从给定的行的给予<属性名>列中的最小值。

函数的语法

MIN(<property-name> )

注意 -

<属性名称>应该是一个节点或关系的名称。

让我们看看MAX和MIN功能用一个例子。

示例-

这个例子演示了如何找到所有员工节点的最高和最低工资的价值

第1步 -在数据浏览器的美元提示符处键入以下命令。

MATCH (e:Employee) 
RETURN e.id,e.name,e.sal,e.deptno
Neo4j的CQL教程

第2步 -点击执行按钮,观察结果。

Neo4j的CQL教程

我们可以观察到,该查询返回4行。

第3步 -键入以下命令,然后单击执行按钮。

MATCH (e:Employee) 
RETURN MAX(e.sal),MIN(e.sal)
Neo4j的CQL教程

此命令从数据库中可用的所有员工节点发现的最大和最小的薪金价值。


AVG

故需设置一个节点或关系作为输入的行数和一<属性名>的并发现从给定的行的给予<属性名>列中的平均值。

函数的语法

AVG(<property-name> )

它需要设置一个节点或关系作为输入的行和<属性名称>,并找到特定的行给予<属性名称>列的总和值。

函数的语法

SUM(<property-name> )

让我们看看SUM和AVG功能用一个例子。

例1 -

这个例子演示了如何找到所有员工节点总额和平均工资值

第1步 -在数据浏览器的美元提示符处键入以下命令。

MATCH (e:Employee) 
RETURN e.id,e.name,e.sal,e.deptno
Neo4j的CQL教程

第2步 -点击执行按钮,观察结果。

Neo4j的CQL教程

我们可以观察到,该查询返回4行。

第3步 -键入以下命令,然后单击执行按钮。

MATCH (e:Employee) 
RETURN SUM(e.sal),AVG(e.sal)
Neo4j的CQL教程

此命令从数据库中可用的所有员工节点发现和总平均工资的价值。