使用 Cypher 查找每个项目的最新邮件
Finding the most recent mails for each project using Cypher
我的图形数据库通过简单的 BELONGS
关系将 Project
个节点连接到 Mail
个节点。 Mail
节点有一个 long
属性 称为 sentDate
。
我正在尝试为每个项目查找 n
最近的邮件。
我当前的查询只查找 n
所有时间的最新邮件,与项目无关:
MATCH (project:PROJECT)-->(mail:MAIL) RETURN project.projectId AS projectId, mail ORDER BY mail.sentDate DESC LIMIT somelimit
我想要 return 类似于每行的行:projectId 和最新邮件列表。
你可以试试这个:
MATCH (project:Project)-->(mail:Mail)
WITH project, mail
ORDER BY mail.sentDate DESC
RETURN project.projectId, collect(mail) as mails
LIMIT 10
我假设你想限制项目。如果你还想限制每个项目的邮件,你会写 collect(mails)[..10]
我的图形数据库通过简单的 BELONGS
关系将 Project
个节点连接到 Mail
个节点。 Mail
节点有一个 long
属性 称为 sentDate
。
我正在尝试为每个项目查找 n
最近的邮件。
我当前的查询只查找 n
所有时间的最新邮件,与项目无关:
MATCH (project:PROJECT)-->(mail:MAIL) RETURN project.projectId AS projectId, mail ORDER BY mail.sentDate DESC LIMIT somelimit
我想要 return 类似于每行的行:projectId 和最新邮件列表。
你可以试试这个:
MATCH (project:Project)-->(mail:Mail)
WITH project, mail
ORDER BY mail.sentDate DESC
RETURN project.projectId, collect(mail) as mails
LIMIT 10
我假设你想限制项目。如果你还想限制每个项目的邮件,你会写 collect(mails)[..10]