web-dev-qa-db-ja.com

neo4jでgroup by functionを使用するにはどうすればよいですか?

私はneo4jの初心者ですが、暗号で「gruop by」関数を使用する方法がわかりません。

私はこのようなものを持っています:

match(c:SEASON)<-[t:during]-(a:PLAYER)-[r:won]->(b:AWARD)
return r.year as year, t.team as team

それは私を返します:

year    team

2011      OCK
2011      OCK
2011      LAS
2010      LAS
2010      SEA
2010      OCK

私はこれを持っているでしょう:

year    team     frequencies

2011     OCK        2
2011     LAS        1
2010     LAS        1
2010     SEA        1
2010     OCK        1

私はSQLでそれを行う方法を知っていますが、暗号ではできません。同じ年に最も頻度が高いチーム、この場合は2011年のOCKに興味があります。

前もって感謝します

8
manfr27

Cypherには明示的なgroup-byはありません。代わりに、グループ化キーはスコープ内の非集計列から形成されます。次に、集約列を生成する Cypher集約関数 を示します。

次に、COUNT()を集計列として使用し、年とチームのフィールドをグループ化キーとして暗黙的に使用する例を示します。

match(c:SEASON)<-[t:during]-(a:PLAYER)-[r:won]->(b:AWARD)
return r.year as year, t.team as team, count(t.team) as frequency
8
InverseFalcon