You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Cypher查询如何先对分子去重再统计每年新增分子数量

Cypher 每年新增分子统计解决方案

问题根源

你原查询的统计逻辑是按年份分组,统计该年份关联的所有分子总数,天然会重复计入早年已出现过的分子,和DISTINCT、ORDER BY的执行顺序无关,核心是没有限定只统计每个分子首次出现的年份。

可用查询语句

MATCH (p:Publication)-->(m:Molecule)
// 提取每个分子首次出现在出版物中的年份
WITH m, min(datetime(p.releasedDate).year) AS first_release_year
// 按首次出现年份分组统计新增分子数
RETURN first_release_year AS release_year, count(m) AS new_molecule_count
ORDER BY release_year

逻辑说明

  • 先用min()聚合函数,对每个分子m取所有关联出版物的最小发布年份,也就是该分子第一次被公开提及的年份,每个分子仅会对应一个唯一的首次出现年份,从根源避免重复统计
  • 再按首次出现年份分组计数,得到的结果就是每年的新增分子数量
  • 如果需要展示没有新增分子的年份,可以额外构造年份序列后关联当前统计结果即可

内容的提问来源于stack exchange,提问作者Veer171

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 14:36:02