我有 2 列: last
和 strike
。我想找到 last / strike
大于 10
的所有结果。我可以写一个原始查询,但我想看看我是否可以用 Sequelize 的方式来完成。
最佳答案
您可以将 sequelize.where()
与 sequelize.literal()
结合使用
Model.findAll({
where: sequelize.where(
sequelize.literal('last/strike'),
'>',
10
)
}).then(instances => {
// result...
});
上面使用的
sequelize
是 Sequelize 的一个实例。此查询将生成类似于SELECT * FROM table_name WHERE last / strike > 10;
编辑
如果要包含其他条件,则需要将
sequelize.where()
调用分配给某个名称Model.findAll({
where: {
lastStrike: sequelize.where(
sequelize.literal('last/strike'),
'>',
10
),
something: 4
}
}).then(instances => {
// result...
});
这将生成您在评论中提到的查询
SELECT * FROM table_name WHERE last / strike > 10 AND something = 4;
关于sequelize.js - 如何在 Sequelize 中找到分割结果大于某个数量的地方?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42875487/