列表查询分页排序显示一个tag的数据,该如何实现

现在有个需求,需要能查询某个tag的数据,类似于查询一个数据库表,能支持排序,分页,过滤,这个nebula该如何实现?scan好像只能查出所有数据,但是不能过滤吧,lookup能过滤但是不能分页吧

lookup … | order by … | limit …
可以用pipe连接

2 个赞

请问该如何统计总数呢?

1.x可以用我们提供的db_dump工具;
2.0-beta可以用submit job stats; show stats命令统计点边数据.
https://docs.nebula-graph.io/2.0/3.ngql-guide/7.general-query-statements/6.show/14.show-stats/

想统计lookup之后的结果数据,现在支持的聚合是必须groupby 但是有的需求是不要指定groupby字段的

1 个赞

我就是想问这个,请问兄台你们的分页是怎么查询总数的?

limit 然后再count吗?

lookup 之后做count

GO FROM 101 OVER follow YIELD follow._src AS player, follow.degree AS degree | GROUP BY $-.player YIELD SUM($-.degree); 这个例子好像是把前面的结果直接可以做统计,是没有统计字段的

lookup怎么也返回一个集合 后面的管道可以选择性的使用或者不使用聚合字段

是的,这个例子是直接把某个字段的所有值求和的。

go FROM hash(“UR12345”) OVER follow T where follow.status == 1 YIELD follow.intimacy,follow.status,follow.status_change_time,$$.user.active_time as active_time,$$.user.user_no as user_no,$$.user.user_name as user_name,$$.user.head_img_url as head_img_url
我想统计这个查询结果的总数,请问该如何修改呢?

这个目前还不支持,正在开发中。

有大概的时间规划吗,数据量小没啥问题,返回所有数据取count 数据量大就危险了

go FROM hash(“UR12345”) OVER follow where follow.status == 1 YIELD $$.user.user_name as user_name, GROUP BY $-.user_name, YIELD $-.user_name, COUNT(*)

@bright-starry-sky

go FROM hash(“UR12345”) OVER follow where follow.status == 1 YIELD follow._dst AS player | GROUP BY $-.player YIELD COUNT(*)