Cypher查询按usid分组聚合count并筛选求和≤9的实现方法
实现需求的Cypher修改方案
你可以直接使用以下修改后的查询语句:
MATCH (us:USER) WHERE us.count <= 4 WITH us.id AS usid, sum(us.count) AS total_count WHERE total_count <= 9 RETURN usid, total_count AS count
逻辑说明
- 保留原有过滤逻辑:先筛选出
us.count <= 4的USER节点 - 分组聚合:通过
WITH子句按us.id分组,对同组的us.count求和得到每个用户的总计数 - 聚合后过滤:新增条件过滤总计数不大于9的分组,自动排除总和为12的
"004"用户 - 字段对齐:返回时将总计数别名设为
count,和你需要的输出字段格式完全匹配
最终计算结果和你给出的预期输出完全一致:
| usid | count |
|---|---|
| "000" | 1 |
| "001" | 2 |
| "002" | 4 |
| "003" | 8 |
内容的提问来源于stack exchange,提问作者kiran
相关产品推荐
相关产品推荐

