如何使用sequelize中的两列之间获取数据

时间:2019-05-07 06:15:51

标签: node.js sequelize.js

请帮助我为下面的MYSQL查询编写sequelize函数

select * from userCategory where 25 between minAge and maxAge;

表格如下所示

userRecords
id         minAge     maxAge    category
1          11         20        category 1
2          21         30        category 2

预先感谢

1 个答案:

答案 0 :(得分:0)

您不能简单地使用BETWEEN,因为它在SQL函数的左侧需要一个列名或一个计算表(例如WITH

最简单的解决方案是:

models.userCategory.findAll({
        where: {
            minAge: { [Op.lt]: 25 },
            maxAge: { [Op.gt]: 25 },
        }, 
      })

如果您必须使用BETWEEN,那么续集将使您的生活更加困难,因为您将需要使用sequelize.literal('SELECT 25 as age')才能拥有一个伪表...以便您可以使用BETWEEN