【发布时间】:2018-01-17 04:20:15
【问题描述】:
给定一张这样的表格:
| JobId | Result |
|-------|--------|
| 1 | true |
| 1 | false |
| 1 | true |
| 1 | |
| 2 | false |
| 2 | false |
| 1 | true |
| 1 | true |
| 1 | true |
SQL 查询是否可以生成这样的输出?
[{JobId: 1, true: 2, false: 1, undefined: 1},
{JobId: 2, true: 3, false: 2, undefined: 0}]
我目前正在使用 ORM Sequelize,但可以使用原始查询,这是我目前所拥有的。
db.JobResponse.findAll({
where: {
jobId: job
},
attributes: ['JobId', [fn('sum', col('result'))]],
group: ['JobId']
}).then(result => {
res.status(200).send({
data: result
});
})
目前它正在尝试sumresult 列,按JobId 分组,但是,结果是一个布尔值(预期值为真、假和未定义),因此简单的求和不起作用。是否可以对组内的每个不同值进行计数?
【问题讨论】:
标签: sql sql-server sequelize.js