我希望使用sequelizejs聚合函数根据score
表中的skill_id(FK)
得到TeacherScore
的最小值。
id teacher_id score skill_id user_id
1 105697533513134511631 5 1 google:105697533513134511631
2 105697533513134511631 5 2 google:105697533513134511631
3 105697533513134511631 3 1 google:107628392388997523753
4 105697533513134511631 2 2 google:107628392388997523753
5 105697533513134511631 5 1 google:110357067158495174899
6 105697533513134511631 4 2 google:110357067158495174899
7 105697533513134511631 4 1 google:105697533513134511631
8 105697533513134511631 5 2 google:105697533513134511631
9 105697533513134511631 4 1 google:112733738188915344135
10 105697533513134511631 5 2 google:112733738188915344135
11 105697533513134511631 3 1 google:100851139210424987549
12 105697533513134511631 5 2 google:100851139210424987549
13 105697533513134511631 1 1 google:100851139210424987549
14 105697533513134511631 3 2 google:100851139210424987549
这就是我到目前为止所做的工作
models.TeacherScore.findAll({
where: {
fellow_uid: fellowId
},
include: [{
model: models.Skill,
attributes: ['name', 'id']
}],
group: ['Skill.id', 'Skill.name', 'TrainerScore.skill_id'],
attributes: [[models.sequelize.fn('min', models.sequelize.col('TrainerScore.score')), 'score']]
}).then(function(score) {
if (score) {
res.status(200).json(score);
} else {
res.status(404).json({
message: 'Score does not exist'
});
}
}).catch(function(err) {
res.status(500).json(err);
});