概述
使用语句LIMIT
从数据开头保留指定数量记录,并丢弃其余记录。
语法
LIMIT <N>
详情
<N>
为非负整数或-1
。使用-1
时保留所有结果。
LIMIT与limit()
在路径查询和K邻查询(包括ab()
,autonet()
,spread()
,khop()
,路径模板和K邻模板)中串联使用limit()
方法,可以限制每个起点或点对返回的路径数量或K邻数量。
而LIMIT
语句可以独立使用,来限制结果中保留的最大记录数。
示例图集
在一个空图集中,逐行运行以下语句,创建示例图集:
create().node_schema("student").node_schema("course").edge_schema("takes")
create().node_property(@*, "name").node_property(@student, "age", int32).node_property(@course, "credits", int32)
insert().into(@student).nodes([{_id:"S1", name:"Jason", age:25}, {_id:"S2", name:"Lina", age:23}, {_id:"S3", name:"Eric", age:24}, {_id:"S4", name:"Emma", age:26}, {_id:"S5", name:"Pepe", age:24}])
insert().into(@course).nodes([{_id:"C1", name:"French", credits:4}, {_id:"C2", name:"Math", credits:5}])
insert().into(@takes).edges([{_from:"S1", _to:"C1"}, {_from:"S2", _to:"C1"}, {_from:"S3", _to:"C1"}, {_from:"S2", _to:"C2"}, {_from:"S3", _to:"C2"}, {_from:"S4", _to:"C2"}, {_from:"S5", _to:"C2"}])
限制返回记录数
find().nodes({@student}) as n
limit 3
return n.name
结果:
n.name |
---|
Pepe |
Jason |
Eric |
LIMIT
可放在RETURN
后。本查询等同于上述查询:
find().nodes({@student}) as n
return n.name
limit 3
限制传递记录数
find().nodes({@student}) as n limit 1
n(n).e().n({@course}) as p
return p{*}
Pepe -> Math
限制有序记录
find().nodes({@student}) as n
order by n.age desc
limit 3
return n.name
结果:
n.name |
---|
Emma |
Jason |
Pepe |