7***@qq.com
7***@qq.com
  • 发布:2023-11-09 03:07
  • 更新:2023-11-09 08:30
  • 阅读:360

数据库我想对a字段去重,b字段排序。得怎么写。

分类:uniCloud

尝试了很多个写法,都不能达到我的需求。

去重了,每一次查询出来的数据都不一样。( group)

2023-11-09 03:07 负责人:无 分享
已邀请:
套马杆的套子

套马杆的套子 - 没有解决不了的问题,只有解决不完的问题

distinct试了没?
配合field
然后再orderBy

  • 7***@qq.com (作者)

    用了不是我想要的结果,我现在是全部查询下来,再前端去重。很麻烦,请问有没有其他办法?

    2023-11-09 14:20

  • 7***@qq.com (作者)

    db.collection("download").field('worksPictureID').distinct()

    .orderBy('time desc')

    .limit(40)

    .get()

    .then((res) => {

    console.log(res.result.data)

    })

    2023-11-09 14:21

  • 7***@qq.com (作者)

    .field('worksPictureID').distinct() 是可以去重,但是排序后的结果,跟实际上的结果区别很大。。。

    2023-11-09 14:34

  • 套马杆的套子

    回复 7***@qq.com: 区别很大是什么?

    2023-11-09 14:37

  • 7***@qq.com (作者)

    回复 套马杆的套子: time:1;content:a;

    time:2;content:b;

    time:3;content:b;

    time:4;content:c;

    time:5;content:a;

    time:6;content:b;

    我想要的是对 content去重。如果根据time排序。那出来的结果应该得是

    b,a,c。

    但是实际上用(group)每次出来的结果每一次相同。

    用(.field('worksPictureID').distinct() )出来的结果跟b,a,c。没什么关系。。。。

    2023-11-09 14:47

  • 7***@qq.com (作者)

    所以,我不知道是不支持,还是它有bug,还是我用的方法不对

    2023-11-09 14:48

  • DCloud_uniCloud_WYQ

    回复 7***@qq.com: 例子补充完整一些,你的数据是什么样的?想要什么样的输出?

    2023-11-09 18:03

  • 7***@qq.com (作者)

    回复 DCloud_uniCloud_WYQ: 就是我有一个表,上面记录着下载数据,包括下载东西的ID,时间戳。现在的需求是,对这个表进行一个时间戳的倒序排列,然后去重。也就是说,用户下载的最新数据会显示的最前面。请问有什么办法吗?

    2023-11-10 15:20

  • 7***@qq.com (作者)

    回复 DCloud_uniCloud_WYQ: 有没有办法直接获取这样的数据呢?我目前都是拿完排序后的结果,前端去重。这样的问题会很慢,而且重复的数据很多,有时候拿60个才排重出1.2个。

    2023-11-10 16:22

  • 7***@qq.com (作者)

    回复 DCloud_uniCloud_WYQ: 而且 就算同一个条件,在不同时间访问,返回的数据也不一样。

    db.collection("download").orderBy('time desc').field('worksPictureID').distinct()

    .skip(0).limit(20)

    .get()

    2023-11-10 17:42

  • 7***@qq.com (作者)

    回复 DCloud_uniCloud_WYQ: 哥,有办法达到需求没

    2023-11-10 18:13

  • DCloud_uniCloud_WYQ

    回复 7***@qq.com: 可以看看文档里面的first 如果是jql语法就是把group拆成groupBy和groupField

    2023-11-15 11:35

c***@qq.com

c***@qq.com

问问gpt

  • 7***@qq.com (作者)

    我用文心,它太菜了。。。。。

    2023-11-09 14:20

  • 7***@qq.com (作者)

    文心太菜了,gpt用起来好麻烦

    2023-11-09 15:24

要回复问题请先登录注册