首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Sequelize中使用'distinct‘?

如何在Sequelize中使用'distinct‘?
EN

Stack Overflow用户
提问于 2021-09-05 04:58:28
回答 1查看 45关注 0票数 1

我在Sequelize中尝试调用以下SQL函数。

代码语言:javascript
复制
SELECT messID
FROM users
WHERE userID in userIds
GROUP BY messID
having count(distinct userID) = userIds.length

userIds是一个id数组,到目前为止,我有以下内容,但最后一行遇到了问题。

代码语言:javascript
复制
Users.findNewID = async function (userIds) {
  const newID = await Users.findOne({
    where: {
      [Op.contains]: userIds
    },
    group: messID,
  });

  return newID;
};

但是我不确定如何在having行上使用distinct。

EN

回答 1

Stack Overflow用户

发布于 2021-09-05 09:59:23

Sequelize不是关于复杂的聚合查询,它主要是关于使用映射到表的模型(这就是为什么它被称为ORM)。

只需使用普通的SQL-query,参数如下:

代码语言:javascript
复制
const newIDResult = await sequelize.query(`
SELECT messID
FROM users
WHERE userID in $userIds
GROUP BY messID
having count(distinct userID) = $userIdsLength
`, {
  type: QueryTypes.SELECT,
  bind: {
            userIds,
            userIdsLength: userIds.length
        }
 });
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69060652

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档