Sequelize:找到每组id的最新记录

时间:2018-01-30 05:10:04

标签: javascript mysql node.js sequelize.js

我正在尝试在下面的链接上完成相同的查询,但在这里没有运气:

https://dzone.com/articles/get-last-record-in-each-mysql-group

您能否建议将上述链接上的原始查询转换为sequelize ORM格式的正确方法?

2 个答案:

答案 0 :(得分:4)

这个想法是这样的:

Posts.findAll({
    attributes: [sequelize.fn("max", sequelize.col('id'))],
    group: ["category_id"]
}).then(function(maxIds){
    return Posts.findAll({
        where: {
            id: {
                [Op.in]: maxIds
            }
        }
    })
}).then(function(result){
    return Promise.resolve(result);
});

答案 1 :(得分:0)

感谢我的Nguyen Huu。

以下是我根据他的想法做了一些调整:

PartialView