簡體   English   中英

排序findAll,其中列值與表中的至少一項相同

[英]Sequelize findAll where a column value is the same as at least one other item in table

我目前有以下查詢,該查詢獲取的所有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()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM