Используемая база данных: sqlite
Model = db.sequelize.define('model', {
num: { type:Sequelize.INTEGER }
});
var data = Array(10).fill(0);
for (var index in data) {
data[index] = await Model.create({ num: Math.round(50*Math.random()) });
}
Просто максимальное значение получается путём
let max = await Model.max('num');
Но мне нужна вся запись, там где num максимальный.
Можно получить так
let result = await Model.find({
where: {
num : (await Model.max('num'))
},
raw: true
});
но это неудобно и медленно, особенно когда появляются дополнительные условия, появится два одинаковых where
А такой способ, накопанный в документации sequelize
let result = await Model.find({
where: {
num: sequelize.fn('max', Sequelize.col('num'))
}
});
выдает Database Error
Что не так?