收藏
回答

云开发如何查询某个字段数据在整个表中排名情况?

假设10000人的数据表,用户排名5000,怎么返回排名数据?,还有个问题请教,orderby倒序是对整个表倒序,只能get100条,还是get100条再对这100条进行倒序?

回答关注问题邀请回答
收藏

1 个回答

  • 跨商通
    跨商通
    01-08

    skip了解 一下。

    全部人orderBy后,skip4999,就查到了第5000名的排名以及他之后的100名的数据了。

    01-08
    有用
    回复 6
    • 阿白
      阿白
      发表于移动端
      01-08
      您好,实际上skip中的value不知道是4999呀,假设用户排名x,skip的值只能固定吧,求教🙏
      01-08
      回复
    • 跨商通
      跨商通
      01-08回复阿白
      先查询大于该用户得分的用户数count,则用户排名是count+1,然后skip这个count,完事。
      01-08
      回复
    • 左岸
      左岸
      05-19
      先描述下场景:普通的榜单页,顶部展示登录用户的积分排名,下方展示1-xxx的用户积分排行;如果积分相同按最后更新时间排序;

      如果按上面的排序方式,得分相同时是不是会出现用户排名和下面排行不一致的问题,因为我立即在计算大于当前用户的用户数count 这个步骤中,没有考虑最后更新时间的条件。请问改怎么处理积分相同计算不准确的问题?
      05-19
      回复
    • 跨商通
      跨商通
      05-20回复左岸
      orderBy后,再接一个orderBy('update_time','desc')
      05-20
      回复
    • 左岸
      左岸
      05-20回复跨商通
      我现在的做法是:通过多条件的 where 进行查询,不排序感觉也还行;另外想请教下默认在云函数中的 where 是不是会每次只查询 100 条数据,如果想想查出全部的我得先求出集合 count,然后循环 skip + limit 的方式查出全部的;小白真心请教感谢!
      05-20
      回复
    查看更多(1)
登录 后发表内容