Sequelize:如何找到Max元素

Ayy*_*a A 6 mysql orm node.js sequelize.js

我在形成续集查询时遇到问题:

我的原生查询是一种东西.

       SELECT max(id),vehicleID FROM `vehicles` WHERE `vehicles`.`vsr_id`=342;
Run Code Online (Sandbox Code Playgroud)

为此,我正在尝试构建类似这样的代码.

    Vehicle.find({ where: { 'vsr_id': 342 }, order : [sequelize.fn('max', sequelize.col('id'))] }).success(function(vehicles){
       console.log("Something i got" + vehicles)
        })
Run Code Online (Sandbox Code Playgroud)

它发出一个错误:sequelize对象[对象的对象]无方法"栏"和i.从这个URL refered: http://sequelizejs.com/docs/latest/models#block-34-line-8

我的任何代码缺失.请帮帮我

仅供参考:忽略分号

Kam*_*rul 12

你能试试吗

Vehicle.max('id', {where : {'vsr_id': 342 })
.success(function(vehicle){
   ...
})
.error(function(error){
   ...
});
Run Code Online (Sandbox Code Playgroud)


Nil*_*tel 5

该查询应该可以通过以下方式实现:

Vehicle.findAll({
  attributes: [
     sequelize.fn('MAX', sequelize.col('id'))
  ],
  where: {
    { 'vsr_id': 342 }
  }
});
Run Code Online (Sandbox Code Playgroud)

  • 您应该更新属性以添加别名 `[sequelize.fn('MAX', Sequelize.col('id')), "id"]` (6认同)