【发布时间】:2016-06-10 23:42:25
【问题描述】:
我有一个 mysql
的 sql 查询select sum(quantity), Hour(posted)
from orders
where posted between '05-10-2014' and '05-10-2014' // my timestamp here
group by Hour(posted)
结果可能是
sum, hour
10, 0
12, 1
13, 3 // note 2 missing in hours
13, 5 // note hour 4 is missing
我需要的是
sum,hour
10,0
12,1
0, 2 // 0 for missing hour ( where no record was found in that hour)
13,3
0, 4 // 0 for missing hour ( where no record was found in that hour)
13,5
我该怎么做?任何帮助表示赞赏
【问题讨论】:
-
用 1 到 24 的数字(或者你想要的)创建一个表格,然后
LEFT JOIN将它添加到你的表格中。 -
在我有一个大数据集的情况下,再添加一个
LEFT JOIN对我来说似乎不合理,特别是当它除了 1 到 24 之外什么都不包含时.. 可能是我想错了..但这就是我现在的想法.. -
@PM77-1,你说得非常对兄弟......第二个链接是我正在寻找的答案......你能把它作为答案发布吗?
-
posted between '' and ''没有任何意义。你想用它做什么?另外:您使用的是哪个 DBMS?