Hogyan lehet megtalálni a kapcsolódó elemeket olyan feltételen alapul, mint a minimális dátumot Neo4j?

szavazat
0

Van egy adatmodellt, ahol már a projektek és a mérföldköveket. Egy projekt számos mérföldkövek. Szeretném felsorolni minden egyes projekt és a mérföldkő a minimális dátumot.

Abban az esetben:

projekt1 -> milestone1 {időpontja: '2019/01/01'}

projekt1 -> Milestone2 {időpontja: '2019/03/03'}

projekt2 -> milestone3 {időpontja: '2018/01/01'}

projekt2 -> milestone4 {időpontja: '2019/03/03'}

Azt akarom, hogy visszatérjen

projekt1 -> milestone1 {időpontja: '2019/01/01'}

projekt2 -> milestone3 {időpontja: '2018/01/01'}

Megpróbáltam egy csomó őrült megoldások, ahol kiszámítani a minimális mérföldkő dátumok, át a min_dates segítségével „a”, majd igazítsa újra a számított min dátum, de úgy tűnik, rozoga és nem megbízható.

A kérdést 10/10/2019 00:55
a forrás felhasználó
Más nyelveken...                            


2 válasz

szavazat
1

@ User3137190, ez egy rövid változata a válasz:

MATCH (p:Project)-[:HAS_MILESTONE]->(m:Milestone)
WITH p, m ORDER BY p.name, m.date
RETURN p.name, COLLECT(m)[0].name
Válaszolt 10/10/2019 02:24
a forrás felhasználó

szavazat
0

Megtalálta a választ egy független post. Nem tudtam, hogy mi jönne sorrendben egy a kikötés

match (p:Project)-[:HAS_MILESTONE]-(m:Milestone)
with p, m order by p.name, m.date
with p, collect(m) as milestones
with p, milestones[0] as first_milestone
return p.name, first_milestone.name
Válaszolt 10/10/2019 01:46
a forrás felhasználó

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more