如何在每一行上乘以2列,并使用Sequelize将所有结果求和?

时间:2018-07-24 10:54:27

标签: mysql sqlite sequelize.js

我想做类似的事情:

  SELECT SUM(columnA*columnB)
  FROM someTable
  WHERE randomCondition = true

如果我使用Sequelize.query()方法执行此原始查询,它将起作用。问题是我在使用SQLite时遇到了另一个问题,因此我必须避免使用原始查询。

当我做Model.sum('columnA*columnB')时,出现语法错误。应该如何使用Sequelize完成?

如何在每一行上相乘两列并使用Sequelize将所有结果求和?

1 个答案:

答案 0 :(得分:2)

据我所知,唯一的方法就是使用Sequelize.literal。例如:

Sequelize.Model.findAll({
      attributes: [[db.sequelize.literal('SUM(col_a * col_b)'), 'result']],
    })