概述
LIMIT子句将别名代表的数据行的前N行数据保留,将其余行舍弃。
语法
limit <N>
<N>
为保留的行数,应为-1
或正整数,-1
时保留所有数据行
例如,将以下路径查询产生的数据流path的前2行保留:
![](https://img.ultipa.cn/draw/draw_11b8c4f5bc3c4bffb90d3864be17d42d.jpg?v='1703130993772')
find().nodes([1, 5]) as nodes
n(nodes).e()[:2].n() as path
limit 2
return path
要留意子句LIMIT和链式命令.limit()
参数的区别。下例中,路径查询命令的.limit()
参数限制该命令每次执行时仅保留2行结果,该命令一共会执行2次,因此最终结果path包括4行数据:
![](https://img.ultipa.cn/draw/draw_75a746e64024490a83c6f00159c4f8e6.jpg?v='1703131021447')
find().nodes([1, 5]) as nodes
n(nodes).e()[:2].n().limit(2) as path
return path
示例
示例图集
![](https://img.ultipa.cn/draw/draw_fd8656adf7c843908a8228941a425401.jpg?v='')
在一个空图集中,依次运行以下各行语句创建示例图集:
create().node_schema("student").node_schema("course")
create().node_property(@*, "name").node_property(@student, "age", int32).node_property(@course, "credit", int32)
insert().into(@student).nodes([{_id:"S001", _uuid:1, name:"Jason", age:25}, {_id:"S002", _uuid:2, name:"Lina", age:23}, {_id:"S003", _uuid:3, name:"Eric", age:24}, {_id:"S004", _uuid:4, name:"Emma", age:26}, {_id:"S005", _uuid:5, name:"Pepe", age:24}])
insert().into(@course).nodes([{_id:"C001", _uuid:6, name:"French", credit:4}, {_id:"C002", _uuid:7, name:"Math", credit:5}])
insert().into(@default).edges([{_uuid:1, _from_uuid:1, _to_uuid:6}, {_uuid:2, _from_uuid:2, _to_uuid:6}, {_uuid:3, _from_uuid:3, _to_uuid:6}, {_uuid:4, _from_uuid:2, _to_uuid:7}, {_uuid:5, _from_uuid:3, _to_uuid:7}, {_uuid:6, _from_uuid:4, _to_uuid:7}, {_uuid:7, _from_uuid:5, _to_uuid:7}])
一般用法
本例查找3个age属性值最大@student点,返回他们的name属性:
find().nodes({@student}) as n
order by n.age desc
limit 3
return n.name
Emma
Jason
Pepe