如何用Apache AGE的OpenCypher查询计算唯一年龄平均值
解决唯一年龄平均值计算问题
你当前的查询直接对所有Person节点的age字段求平均,会把重复的年龄多次计入计算。要得到唯一年龄的平均值,需要先提取出所有不重复的年龄值,再对这些值求平均。
修改后的查询代码如下:
SELECT * FROM cypher('test', $$ MATCH (n:Person) WITH DISTINCT n.age AS unique_age RETURN avg(unique_age) $$) as (avg_age agtype);
代码说明
WITH DISTINCT n.age AS unique_age:筛选出所有不重复的年龄值,每个年龄仅保留一次- 对去重后的
unique_age调用avg()函数,即可得到唯一年龄的平均值,对应你示例中的(20+30+50)/3的计算逻辑
内容的提问来源于stack exchange,提问作者ahmed_131313
相关产品推荐
相关产品推荐

