官术网_书友最值得收藏!

  • 精通Neo4j
  • 龐國明等
  • 542字
  • 2023-07-17 19:01:15

3.3.15 ORDER BY語句

ORDER BY是緊跟RETURN或者WITH的子句,它指定了輸出的結果應該如何排序。

提示:提示:不能對節點或關系進行排序,只能對它們的屬性進行排序。ORDER BY依賴值的比較來排序,具體可參見3.2.5.8節。

在變量的范圍方面,ORDER BY遵循特定的規則,這取決于RETURN的投射或WITH語句是否聚合或者DISTINCT。如果它是一個聚合或者DISTINCT投射,那么只有投射中的變量可用。如果投射不修改輸出基數(聚合和DISTINCT做的),在投射之前可用的變量也可以用。當投射語句覆蓋了已存在的變量時,只有新的變量可用。如圖3-18所示為ORDER BY圖例。

圖3-18 ORDER BY圖例

3.3.15.1 根據屬性對節點進行排序

ORDER BY用于對輸出進行排序。

查詢:

結果將返回根據節點name屬性進行排序的節點序列。

結果:

3.3.15.2 根據多個屬性對節點進行排序

ORDER BY語句中支持根據多個屬性對節點進行排序。Cypher將先根據第一個變量進行排序,對于相等的值,然后再檢查ORDER BY中的下一個屬性值,以此類推。

查詢:

本例中先根據年齡排序,對于年齡相等的,再根據名字來排序。

結果:

3.3.15.3 節點降序排列

在排序的變量后面添加DESC[ENDING],Cypher將以逆序(即降序)對輸出進行排序。

查詢:

本例中根據節點的name降序排列這些節點。

結果:

3.3.15.4 空值的排序

當結果集中包含null值時,對于升序排列,null總是在結果集的末尾。而對于降序排序,null值總是排在最前面。

查詢:

結果將返回以length屬性排序的節點,沒有length屬性的節點將排在最后。

結果:

主站蜘蛛池模板: 广西| 农安县| 周宁县| 汤原县| 文昌市| 五家渠市| 香河县| 兴山县| 绵阳市| 正安县| 灵武市| 本溪| 黑龙江省| 内江市| 宁强县| 麦盖提县| 吉木萨尔县| 丰县| 上杭县| 建德市| 安徽省| 镇赉县| 淮滨县| SHOW| 大关县| 资溪县| 石家庄市| 石景山区| 靖西县| 濉溪县| 阿克| 即墨市| 鹿泉市| 福安市| 仲巴县| 建瓯市| 泸水县| 铁力市| 常德市| 基隆市| 永康市|