Sequelize join with group by
Posted
技术标签:
【中文标题】Sequelize join with group by【英文标题】: 【发布时间】:2014-12-24 23:18:54 【问题描述】:我想做的最好用一个小例子来说明。
假设我有以下表格:
表格项
身份证 姓名表格审核
身份证 评分 itemId很明显,一个项目有很多评论。
如何编写返回以下两列的查询:
项目名称 (Item.name
)
所有项目评分的总和 (Sequelize.fn('sum', sequelize.col('rating'))
)
我想使用 ORM。
【问题讨论】:
【参考方案1】:尝试使用这个:
Review.belongsTo(Item, foreignKey:'itemId', as : 'reviews');
Item.hasMany(Review, foreignkey:'id');
Item.findAll(attributes:[['id', 'id'],['name', 'name'],[Sequelize.fn('SUM', 'rating'), 'total']], include:[model:Review, as : 'reviews', required:true], group:['id'], order:[Sequelize.fn('SUM', 'rating'), 'DESC']).success(function(result)
// return array;
// total -----> result[i].total
// item name -----> result[i].name
)
【讨论】:
以上是关于Sequelize join with group by的主要内容,如果未能解决你的问题,请参考以下文章
c# linq with group by and join 抛出异常
mysql self join with group_concat 并且没有重复