Группировка записей час за часом или день за днем ​​и заполнение пробелов нулем или нулевым значением в mysql

Я написал запрос, который считает записи час за часом:

select TO_CHAR(copied_timestamp, 'YYYY-MM-DD HH24'),count(*) from req group by
TO_CHAR(copied_timestamp, 'YYYY-MM-DD HH24');

результат:

2012-02-22 13    2280
2012-02-22 15    1250
2012-02-22 16    1245
2012-02-22 19    1258

Но мне нужен такой результат:

2012-02-22 13    2280
2012-02-22 14    0
2012-02-22 15    1250
2012-02-22 16    1245
2012-02-22 17    0
2012-02-22 18    0
2012-02-22 19    1258

Также у меня есть эти запросы, которые группируются по дням и месяцам!

select TO_CHAR(copied_timestamp, 'YYYY-MM-DD'),count(*)  from req
group by TO_CHAR(copied_timestamp, 'YYYY-MM-DD');

select TO_CHAR(copied_timestamp, 'YYYY-MM'),count(*)  from req
group by TO_CHAR(copied_timestamp, 'YYYY-MM');

Мне нужно, чтобы их пробелы также были заполнены нулем или нулем. Любая помощь очень ценится.

Примечание :В оракуле есть ответ на этот вопрос, использующий CONNECT BY, но мне нужен ответ в Mysql, потому что Mysql не поддерживает CONNECT BY. Вот ссылка

5
задан Community 23 May 2017 в 11:47
поделиться