mysql - 我们如何使用 Sequelize 执行以下原始查询?

标签 mysql sql node.js database sequelize.js

select * from student where totalDays-presentDays > 50;

我正在使用sequelize执行上述查询。

我尝试了以下代码。

where:
     {
       StudentDB.Sequelize.literal(totalDays-presentDays):
       {
          [Op.gt]:50
       }
     }

但是它给出了错误,例如意外的标记“。”在数据库名称和 Sequelize 关键字中。

我也尝试过这个。

      attributes: ['ID', 'Name', 'totalDays','presentDays', [StudentDB.Sequelize.literal('(totalDays - presentDays)'), 'absentDays']],

     where:{
      absentDays:{
     [Op.gt]:50 
    }
   }

最佳答案

假设您将表名称定义为 Student(不是变量定义,而是模型中的定义)

所以它应该看起来像这样: 在哪里: { 和:sequelize.literal('(“学生”。“totalDays”+“学生”。“presentDays”)> 50 ') }

关于mysql - 我们如何使用 Sequelize 执行以下原始查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49049092/

相关文章:

javascript - 我应该如何使用node.js 和导出来调用mysql 数据库?

java - 仅在第一次尝试时从 App Engine servlet 连接到 Google Cloud MySQL 时出错

Mysql - 金额之间的平衡

mysql - 显示 SQL 查询的重复记录

javascript - Windows Localhost 中的 Wiki.js 安装

MySQL #1241 - 操作数应包含 1 列

针对 400K 行以上大数据集的 MySQL 查询优化

sql - 如何生成4位随机数

node.js - node-soap 更改操作的命名空间

Node.js 错误 : Cannot find module express