我想做类似的事情:
SELECT SUM(columnA*columnB)
FROM someTable
WHERE randomCondition = true
如果我使用Sequelize.query()
方法执行此原始查询,它将起作用。问题是我在使用SQLite时遇到了另一个问题,因此我必须避免使用原始查询。
当我做Model.sum('columnA*columnB')
时,出现语法错误。应该如何使用Sequelize完成?
如何在每一行上相乘两列并使用Sequelize将所有结果求和?
答案 0 :(得分:2)
据我所知,唯一的方法就是使用Sequelize.literal。例如:
Sequelize.Model.findAll({
attributes: [[db.sequelize.literal('SUM(col_a * col_b)'), 'result']],
})