最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

Sequelize findAll其中列值与表中的至少一个其他项相同

运维笔记admin10浏览0评论

Sequelize findAll其中列值与表中的至少一个其他项相同

Sequelize findAll其中列值与表中的至少一个其他项相同

我目前有以下查询,它获取id =某个值的所有内容,但我需要它才能获得只有列(称为Uid)值的项在表中出现多次。

基本上我需要从下面的查询结果中筛选出具有唯一Uid列值的项目

models.table.findAll({
    where:{
        id: req.params.id
    }
})
回答如下:

所以我相信你正在寻找的SQL查询

SELECT id, uid, count(*) FROM table
WHERE id = :id
GROUP BY id, uid
HAVING count(uid) > 1;

在Sequelize中它将是:

models.table.findAll({
    where: { id: req.params.id },
    group: ['id', 'uid'],
    having: [sequelize.literal('count(?) > ?)', 'uid', 1] 
})

不完全确定这是否是Sequelize的正确语法。另请参阅sequelize.fn()和sequelize.col()。

发布评论

评论列表(0)

  1. 暂无评论