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

Tia*_*olo 1 mysql sqlite sequelize.js

我想做类似的事情:

  SELECT SUM(columnA*columnB)
  FROM someTable
  WHERE randomCondition = true
Run Code Online (Sandbox Code Playgroud)

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

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

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

Iri*_*ich 5

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

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