Cypher 查询聚合值之和

Cypher query aggregate sum of values

我有一个显示以下输出的 Cypher 查询:

+----------------
| usid  | count |
+----------------
| "000" | 1     |
| "000" | 0     |
| "000" | 0     |
| "001" | 1     |
| "001" | 1     |
| "001" | 0     |
| "002" | 2     |
| "002" | 2     |
| "002" | 0     |
| "003" | 4     |
| "003" | 2     |
| "003" | 2     |
| "004" | 4     |
| "004" | 4     |
| "004" | 4     |
+----------------

如何在 SUM(count) <= 9.

条件下得到以下结果
+----------------
| usid  | count |
+----------------
| "000" | 1     |
| "001" | 2     |
| "002" | 4     |
| "003" | 8     |
+----------------

注意:我已使用以下查询获取第一个 table 数据。

MATCH (us:USER)
WITH us
WHERE us.count <= 4
RETURN us.id as usid, us.count as count;

我不知道你是如何获得原始数据的,所以我将只使用 WITH 子句并假设数据在那里:

// original data
WITH usid, count
// aggregate and filter
WITH usid, sum(count) as new_count
WHERE new_count <= 9
RETURN usid, new_count

根据更新后的问题,新查询如下所示:

MATCH (us:USER)
WHERE us.count <= 4
WITH us.id as usid, sum(us.count) as count
WHERE new_count <= 9
RETURN usid, count
˙˙˙