我试图获得年龄范围之间男性和女性数量的总值。例如:25岁以下的男性和女性人数。
MATCH (m:user)-[:gender]->(male:gender {type:"male"})
With m AS m25
where tofloat(m25.birthday) < (timestamp()-788923800000)
RETURN count(m25)
我想在一个查询中完成这一切,所以我得到的男性和女性数量为13-25,26-25等。我对收集功能感到头疼,因为它们似乎回答了我的问题,但我不确定如何在上述环境中应用它们。
任何帮助将不胜感激!
答案 0 :(得分:1)
您可以使用UNIONs加入的一系列查询,也可以使用一系列WITH子句链接查询。
E.g。
MATCH (m25:user)-[:gender]->(male:gender {type:"male"})
where tofloat(m25.birthday) < (timestamp()-788923800000)
RETURN count(m25)
UNION
MATCH (f25:user)-[:gender]->(female:gender {type:"female"})
where tofloat(f25.birthday) < (timestamp()-788923800000)
RETURN count(f25)
UNION
...
...或...
MATCH (m25:user)-[:gender]->(male:gender {type:"male"})
where tofloat(m25.birthday) < (timestamp()-788923800000)
WITH count(m25) AS male25
MATCH (f25:user)-[:gender]->(male:gender {type:"female"})
where tofloat(f25.birthday) < (timestamp()-788923800000)
WITH count(f25) AS female25, male25
...
等
HTH