時間ごとにレコードをカウントするクエリを作成しました。
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');
それらのギャップもゼロまたはヌルで埋める必要があります。どんな助けでも本当に感謝しています。
注:Oracleを使用してこの質問に対する回答がありますが、CONNECT BY
Mysqlはサポートしていないため、Mysqlで回答が必要CONNECT BY
です。
ここにリンクがあります