关于 order by 和 limit 的使用

nebula 版本号: 3.0.2

参考 find path 的语法

FIND { SHORTEST | ALL | NOLOOP } PATH [WITH PROP] FROM <vertex_id_list> TO <vertex_id_list>
OVER <edge_type_list> [REVERSELY | BIDIRECT] 
[<WHERE clause>] [UPTO <N> STEPS] 
YIELD path as <alias>
[| ORDER BY $-.path] [| LIMIT <M>];

在 console 执行如下路径查询语句:

FIND NOLOOP PATH FROM 1 TO 22 OVER * UPTO 4 STEPS YIELD path AS p ORDER BY $-.path limit 5;

直接提示语法错误:

[ERROR (-1004)]: SyntaxError: syntax error near `ORDER'

让人很迷惑啊,不知道哪里不对了,直接去掉 ORDER BY ,只保留 LIMIT 则直接提示 LIMIT 有错。。

第一次发帖就不要删除必要的模版提示信息了,比如版本号,因为每个版本都可能存在部分的用法差异。所以请补充下 Nebula 的版本号。

语法是。FIND PATH ... YIELD path as p | ORDER BY $-.p | LIMIT 5

中间是有pipe 符号
FIND PATH 是一条语句, order by 是一条语句, limit 是一条语句,使用 PIPE 拼接起来

1 个赞

抱歉,没细看语法说明 ,管道符我以为是 或 :innocent:
但比较好奇这里的语法设计,因为这样和常规的SQL不一样。

此话题已在最后回复的 7 天后被自动关闭。不再允许新回复。