2 votes

neo4j order by optional property in descdending order with nulls being at the bottom

J'ai besoin de trier les noeuds par createdAt timestamp dans l'ordre décroissant. Il s'agit d'un paramètre facultatif. Il y a d'anciens nœuds qui n'ont pas ce paramètre. Lorsque j'essaie de trier comme suggéré dans neo4j doc :

MATCH (node:MyTag)
WHERE ...
RETURN node
ORDER BY node.createdAt DESC

J'obtiens des nœuds où createAt n'existe pas avant celles où il existe. Comment puis-je obtenir les noeuds qui ont createdAt par ordre décroissant d'abord et ensuite les noeuds qui n'ont pas le champ createAt ?

Cheers

0voto

Graphileon Points 805

Vous pourriez ajouter un champ à votre RETURN

COALESCE ( node.createdAt, 999999999) AS sortField

qui vous donnerait une valeur sur laquelle trier.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X