node.js - Sequelize:如何通过关联表列的总和来查询父列
问题描述
请我需要帮助。
我有 2 张桌子Articles
和Ratings
. 我将文章和评级相关联,因此文章可以有很多评级。评级有rating
一个整数列。现在我想用 sequelize 查询数据库,以返回数据库中评分最高的 5 篇文章。所以基本上查询应该能够rating
为所有文章添加所有评级的所有列,然后返回评级最高的前 5 篇文章。请问我该怎么做?
解决方案
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);
});
我希望这会奏效!如果不玩这个代码,你会得到你的答案!:-)。
并让我知道它是否有效!
推荐阅读
- delphi - 第一个支持 64 位开发的 Delphi IDE
- rust - 为什么用 git 哈希替换依赖项的版本和路径属性会导致编译错误?
- fpga - fpga zynq 7020中的ram问题,有人可以给我建议吗?
- java - system.out.println() 在 Java 中是什么类型的令牌?
- sql - 将行连接成一个字符串,有什么不同的方法,它们叫什么?
- ajax - Spring Controller 在使用 Ajax/Post 传递整数数据时抛出 NullPointerException
- xamarin.forms - 单击时设置 HVScrollView 项目的背景颜色
- elasticsearch - 使用 elasticsearch 搜索公司
- python - 如何在 Tensorflow 中实现堆叠的 RNN?
- ios - 使用委托显示/隐藏表格视图单元格