【发布时间】:2019-06-28 00:49:58
【问题描述】:
我在 Cypher 中有一个查询,可以找到某个设备的最后一次。 我想匹配我的数据库中的所有设备,其中它们的最后时间属性是其设备的最新属性,然后返回它们的 id。不幸的是,我无法创建正确的子查询。
我尝试使用 with 和 {} 的示例,但找不到任何有效的方法。
主要部分(有效):
MATCH (a:device)
MATCH (b:device)
WHERE certain filters
RETURN
CASE
WHEN a.last_seen > MAX(b.last_seen) THEN a.last_seen
WHEN a.last_seen < MAX(b.last_seen) THEN MAX(b.last_seen)
ELSE a.last_seen END AS lastest
然后我想做:
MATCH (d:device)
WHERE d.last_seen = lastest
RETURN d.device_id
到目前为止,无论我尝试什么,都只会出现语法错误。如何嵌套批量查询?
【问题讨论】:
-
如果在您的“主要批量”中将
RETURN替换为WITH会发生什么? -
您能分享一下您是如何组合这两个查询的吗?
-
当我尝试用“with”替换它时,我得到一个语法错误,所以我用错了。应该如何使用?还有 Raj - 这就是我想知道的 :)
-
请检查我的答案...
标签: neo4j subquery cypher with-statement