如何在密码查询中制作GROUP BY?

时间:2018-10-09 13:47:38

标签: sql neo4j group-by cypher

我想将SQL查询转换为密码。请问,有什么解决方案可以使GROUP BY成为密码吗?

    SELECT dt.d_year, 
           item.i_brand_id          brand_id, 
           item.i_brand             brand, 
           Sum(ss_ext_discount_amt) sum_agg 
    FROM   date_dim dt, 
   store_sales, 
   item 
    WHERE  dt.d_date_sk = store_sales.ss_sold_date_sk 
    AND store_sales.ss_item_sk = item.i_item_sk 
    AND item.i_manufact_id = 427 
    AND dt.d_moy = 11 
    GROUP  BY dt.d_year, 
      item.i_brand, 
      item.i_brand_id 
   ORDER  BY dt.d_year, 
      sum_agg DESC, 
      brand_id;

1 个答案:

答案 0 :(得分:4)

在Cypher中,所有aggregate functions都隐式完成GROUP BY。在WITH / RETURN语句中,任何不属于聚合的列将成为GROUP BY键。

例如

MATCH (n:Person)
RETURN COUNT(n), n.name, n.age

该计数将对具有相同名称和寿命的所有节点进行计数。如果我愿意的话

MATCH (n:Person)
RETURN COUNT(n), n.name, MIN(n.age), MAX(n.age)

我将获得多少个具有相同名字的人,以及该名字的年龄范围。