【发布时间】:2015-03-31 12:09:20
【问题描述】:
我有以下疑问:
SELECT count(*) as 'totalCalls', HOUR(`end`) as 'Hour'
FROM callsDataTable
WHERE company IN (
SELECT number
FROM products
WHERE products.id IN (@_PRODUCTS))
AND YEAR(`end`) = @_YEAR AND MONTH(`end`) = @_MONTH
group by HOUR(`end`)
以上查询仅返回拨打电话的时间:
totalCalls Hour
2 0
1 2
4 7
98 8
325 9
629 10
824 13
665 15
678 16
665 17
606 18
89 22
5 23
所需的输出应该是所有时间,如果没有呼叫,则该小时应该是 0 次呼叫,如下所示:
totalCalls Hour
0 0
0 1
1 2
0 3
0 4
0 5
0 6
4 7
98 8
325 9
629 10
0 11
0 12
824 13
0 14
665 15
678 16
665 17
606 18
0 19
0 20
0 21
89 22
5 23
【问题讨论】:
-
嗯,一天有
24小时。预期结果应以Hours字段中具有0的行开头。除非您不关心介于(包括)0:00:00和0:59:59之间的电话。
标签: mysql sql time-series aggregate-functions