在PostgreSQL中,我们可以使用过滤器,例如-
SELECT column_name,
SUM(sales) FILTER (WHERE year = 2022) AS total_sales_2022,
SUM(sales) FILTER (WHERE year = 2023) AS total_sales_2023
FROM sales_table
GROUP BY column_name;
我们如何在Apache时代实现这一点?谁来帮帮我PLZ
在PostgreSQL中,我们可以使用过滤器,例如-
SELECT column_name,
SUM(sales) FILTER (WHERE year = 2022) AS total_sales_2022,
SUM(sales) FILTER (WHERE year = 2023) AS total_sales_2023
FROM sales_table
GROUP BY column_name;
我们如何在Apache时代实现这一点?谁来帮帮我PLZ
5条答案
按热度按时间yacmzcpb1#
根据Doc,
为了计算聚合数据,Cypher提供了聚合,类似于SQL的GROUP BY。
一个等价的密码查询是:
该查询将匹配产品,根据年份进行过滤,并使用
COUNT
(类似于GROUP BY
)应用聚合。然后,您可以应用SUM
聚合函数来计算每个产品的总销售额。mwngjboj2#
在apacheAGE中,我们处理的不是表,而是节点和边。那些节点/边通过它们的标签和/或属性保持信息。例如:
这里我们创建了4个不同的节点,标签为
Person
,属性为name
。如果我们想通过标签找到一个节点,我们可以这样做:这将返回图中属于
Person
标签的所有节点。类似地,我们可以过滤节点的属性,例如:在这里,这将只返回具有属性
name
的节点,并且它等于'John'
。ykejflvf3#
要在age中对聚合函数使用过滤器,请查看
WITH
关键字https://age.apache.org/age-manual/master/clauses/with.htmlt5fffqht4#
让我们举个例子,假设你想返回所有的用户,除了那些名字是
hossam
的,那么你可以通过下面的查询来做到这一点:这将返回名称不等于
hossam
的所有用户。您可以注意到,我们使用WHERE
子句应用了一个过滤器,该子句用于此目的。我希望这能给予你一个如何在年龄上使用过滤器的感觉。
9avjhtql5#
一旦创建了图表沿着所需的节点和属性,就可以在ApacheAGE中以这种方式执行postgresql查询
您可以访问AGE docs以了解有关AGE中WITH、ORDER BY和RETURN子句的更多信息。