Neo4j 计数总和
Sum of counts Neo4j
我想计算 count 的个数,或者 Count 的总和,但我遇到了问题。
所以我需要添加 3 个不同的字段,这些字段与一个名为 'Pais' 的字段相关联。我想把每一个的计数加到最后三者的总和中。
Print of the query
我在另一个堆栈溢出问题中看到,我可以简单地在 return 语句中添加两个带有“+”的计数。但是我很难弄清楚如何解决这个问题。
提前感谢您的帮助:)
您一次只能计算一个数,因为它是一个聚合函数。因此,您需要进行可选匹配,每次将 count() 作为 firstcount、secondcount 等,并在最后将它们相加。如果您 post 您的查询采用可复制格式,我可以提供更多细节。
试试这个:
MATCH (a:Atleta{genero:"Female"})-[:REPRESENTA_O]->(p:Pais) WITH p, count(a) AS atletaCount
MATCH (t:Tecnico{genero:"Female"})-[:PERTENCE]->(p) WITH p, atletaCount, count(t) AS tecnicoCount
MATCH (tr:Treinador{genero:"Female"})-[:REPRESENTA]->(p) WITH p, atletaCount, tecnicoCount, count(tr) AS treinadorCount
WITH p, atletaCount + tecnicoCount + treinadorCount AS totalCount
RETURN totalCount, p AS pais
ORDER BY totalCount DESC
我想计算 count 的个数,或者 Count 的总和,但我遇到了问题。 所以我需要添加 3 个不同的字段,这些字段与一个名为 'Pais' 的字段相关联。我想把每一个的计数加到最后三者的总和中。
Print of the query
我在另一个堆栈溢出问题中看到,我可以简单地在 return 语句中添加两个带有“+”的计数。但是我很难弄清楚如何解决这个问题。
提前感谢您的帮助:)
您一次只能计算一个数,因为它是一个聚合函数。因此,您需要进行可选匹配,每次将 count() 作为 firstcount、secondcount 等,并在最后将它们相加。如果您 post 您的查询采用可复制格式,我可以提供更多细节。
试试这个:
MATCH (a:Atleta{genero:"Female"})-[:REPRESENTA_O]->(p:Pais) WITH p, count(a) AS atletaCount
MATCH (t:Tecnico{genero:"Female"})-[:PERTENCE]->(p) WITH p, atletaCount, count(t) AS tecnicoCount
MATCH (tr:Treinador{genero:"Female"})-[:REPRESENTA]->(p) WITH p, atletaCount, tecnicoCount, count(tr) AS treinadorCount
WITH p, atletaCount + tecnicoCount + treinadorCount AS totalCount
RETURN totalCount, p AS pais
ORDER BY totalCount DESC