帮助我编写一个选择查询以按小时获取记录计数。即使表中没有特定小时的可用记录,我也希望在输出中显示所有 24 小时。
例如
Date Hour Record count
----------------------------
2013/03/01 00 - 100
2013/03/01 01 - 0 (No records available in the table)
2013/03/01 02 - 200
2013/03/01 03 - 300
2013/03/01 04 - 0 (No records available in the table)
......它继续......直到23小时......
这是我目前正在使用的查询...
SELECT VALUE.DATETIME, COUNT(*) as TOTALPOBYCREATEDTIMEANDDATE
FROM (SELECT CASE WHEN LENGTH(TRIM(TIMECOL)) <= 4
THEN DATECOL CONCAT '00'
WHEN LENGTH(TRIM(TIMECOL)) = 5
THEN DATECOL CONCAT '0' CONCAT SUBSTR(TRIM(TIMECOL),1,1)
ELSE DATECOL CONCAT SUBSTR(TRIM(TIMECOL),1,2) END as DATETIME
FROM ORDLIB/ORDERTABLE
WHERE DATECOL LIKE '201303%') VALUE
GROUP BY VALUE.DATETIME
ORDER BY VALUE.DATETIME