[英]Group By Multiple Keys And Sum On Gremlin
我有一個像這樣的查詢:
GraphTraversal t = graph.V().hasLabel("App").as("a")
.inE("RANKS").as("r")
.outV().as("k")
.choose(__.select("k").by("countryCode").is(__.in(...)),
__.math("1.0 / r").by("rank1"),
__.math("1.0 / r").by("rank2"))
.as("score")
...;
在這里,我想匯總如下數據:
group by a.appId, k.countryCode, sum(score)
我試過像:
.group("a").by("appId").group("k").by("countryCode").by(...select("score").sum())
但這不起作用。
你有什么建議嗎?
解決如下:
GraphTraversal t = graph.V().hasLabel("App").as("a")
.inE("RANKS").as("r")
.outV().as("k")
.choose(__.select("k").by("countryCode").is(__.in(...)),
__.math("1.0 / r").by("rank1"),
__.math("1.0 / r").by("rank2"))
.as("score")
.select("a", "k").by("appId").by("countryCode")
.group().by().by(__.select("score").sum().as("sum_score"))
解決如下:
GraphTraversal t = graph.V().hasLabel("App").as("a")
.inE("RANKS").as("r")
.outV().as("k")
.choose(__.select("k").by("countryCode").is(__.in(...)),
__.math("1.0 / r").by("rank1"),
__.math("1.0 / r").by("rank2"))
.as("score")
.select("a", "k").by("appId").by("countryCode")
.group().by().by(__.select("score").sum().as("sum_score"))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.