我有以下(摘要)续集模型:
{
startTime: Date,
endTime: Date,
}
现在我想获得所有现有实体的平均持续时间。在SQL中,我将其建模为SELECT AVG("end_time" - "start_time") FROM "MyTable";
。但我不知道如何用续集来做到这一点。
我已尝试使用sequelize.fn()
,但未得出结论。
所以我的目标是拥有类似的东西:
MyModel.findAll({
attributes: ['averageTime' <<< now what?]
});
哦,我正在使用PostgreSQL 9.6。
最佳, 菲利普
答案 0 :(得分:1)
您不能使用findAll
或findOne
,因为它们会返回模型的实例,您需要获得一些标量值。
原始查询可用于执行您需要的操作:
sequelize.query(
'SELECT AVG("end_time" - "start_time") FROM "MyTable"',
{ type: sequelize.QueryTypes.SELECT}
).then(function(result) {
// process result here
})