У меня есть система тикетов со статусом тикета.Я хочу сделать запрос sequelize, который будет возвращать соответствующие счетчики статуса.Ниже приведен необработанный запрос, который работает нормально, я хочу преобразовать его в sequelize.
let querydata = `SELECT count(*) as total,
sum(case when status = 'Allocated' then 1 else 0 end) as allocated,
sum(case when status = 'RemindMe' then 1 else 0 end) as remindme,
sum(case when status = 'Close' then 1 else 0 end) as closed
FROM ticketnotifications
WHERE createdby = '` + req.auth.credentials.email + `';`;
return ticketdb.sequelize.query(querydata, { type: Sequelize.QueryTypes.SELECT })
.then((agentCountResult) => {
return res(agentCountResult[0]);
}).catch((err) => {
logger.error('agentCount exception...', err);
return res(boom.expectationFailed(err));
});
Я попытался [Sequelize.fn('COUNT', Sequelize.col('id')), 'total']
, и он работает, но я застрял вокруг того, как преобразовать приведенный выше оператор Case
в дальнейшем.Есть идеи?