люди, я застрял в логической или синтаксической проблеме, я пробовал так много вещей из стека.Но я не получил точного решения моей проблемы.
Проблема
У меня есть таблица abc со следующими столбцами
╔════╦═════════╦═════════════════════╦═══════╗
║ id ║ success ║ transactionTime ║ value ║
╠════╬═════════╬═════════════════════╬═══════╣
║ 1 ║ 1 ║ 2018/09/12 10:50:00 ║ 10 ║
╠════╬═════════╬═════════════════════╬═══════╣
║ 2 ║ 0 ║ 2018/09/13 10:58:00 ║ 12 ║
╠════╬═════════╬═════════════════════╬═══════╣
║ 3 ║ 1 ║ 2018/09/13 10:55:00 ║ 34 ║
╚════╩═════════╩═════════════════════╩═══════╝
Я хотелПоказать все данные между двумя датами;если для определенной даты не существует строки, то покажите ноль во всех столбцах с помощью sequelize;
Я понимаю с SQL, но не понимаю, как это сделать с Sequilze ORM
У меня естьПопробовал это
startDate = moment().subtract(7, 'days').format('YYYY-MM-DD 00:00:00');
endDate = moment().format('YYYY-MM-DD 23:59:59');
const Record = await db.abc.count({
where: {
transactionTime: {
$between: [
startDate,
endDate,
],
},
},
attributes: [[sequelize.fn('DATE_FORMAT', sequelize.col('transactionTime'), '%Y-%m-%d'), 'day']],
group: [sequelize.fn('DAY', sequelize.col('transactionTime'))],
});
Я получаю следующий вывод
day Count
2018/09/12 1
2018/09/13 2
Ожидаемый вывод:
day Count
2018/09/08 0
2018/09/09 0
2018/09/10 0
2018/09/11 0
2018/09/12 1
2018/09/13 2
Помоги мне, я новичок в секвелировании.