请帮助我。
我有2个表Articles
和Ratings
。我将文章和评分相关联,因此文章可以具有许多评分。
评分有一个列rating
,该列是整数。
现在,我想用sequelize查询数据库,以从数据库中返回评分最高的5个文章。
因此,基本上,查询应该能够为所有文章添加所有评分的所有rating
列,然后返回评分最高的前5条文章。
我该如何处理?
答案 0 :(得分:0)
const Sequelize = require('sequelize');
const Op = Sequelize.Op;
Article.findAll({
include: [{
model: Rating
}],
where : {
id : {
[Op.in] : [connection.literal(`select ArticleID from Rating WHERE rating =(SELECT MAX(rating) FROM Rating) LIMIT 5'`)]
}
}
})
.then(result => {
res.json(result);
}).catch(error=>{
res.json(error);
});
我希望这会成功!如果不使用此代码,您将得到答案! :-)。
请让我知道它是否有效!