📅  最后修改于: 2023-12-03 15:17:50.874000             🧑  作者: Mango
ORDER BY
子句ORDER BY
是 Neo4j 查询语言(Cypher)中的一个子句,用于对查询结果进行排序。该子句可以根据一个或多个属性来排序结果,并可以指定升序(ASC
)或降序(DESC
)排列。
MATCH (node:Label)
ORDER BY node.property [ASC|DESC], ...
RETURN node.property, ...
MATCH
: 匹配要查询的节点和关系(可选)(node:Label)
: 匹配具有特定标签的节点(可选)ORDER BY
: 指定排序方式node.property
: 按节点的属性排序[ASC|DESC]
: 可选的排序方式,默认为升序(ASC
)RETURN
: 返回查询结果可以按照一个或多个属性以及排序方式链式使用多个 ORDER BY
子句。
考虑以下示例图:
(Alice)-[:KNOWS {since: 2020}]->(Bob)
(Carol)-[:KNOWS {since: 2019}]->(Alice)
(Dave)-[:KNOWS {since: 2021}]->(Carol)
MATCH (node:Person)
ORDER BY node.name
RETURN node.name
该查询将按节点的 name
属性以升序方式对结果进行排序。
MATCH (node:Person)
ORDER BY node.age DESC, node.name ASC
RETURN node.name, node.age
该查询将首先按节点的 age
属性以降序方式排序,然后按 name
属性以升序方式排序。
MATCH (node:Person)
RETURN node.name
ORDER BY node.age DESC
LIMIT 5
该查询将按节点的 age
属性以降序方式对结果进行排序,并返回前 5 个结果。
ORDER BY
子句是 Neo4j 中用于对查询结果进行排序的强大工具。通过指定属性和排序方向,您可以快速对结果进行排序,并根据业务需求获取最相关的数据。请注意,在处理大型数据集时,使用 ORDER BY
子句可能会导致性能下降,因此请谨慎使用。