如果我有这样的数据:
| DateAndTime | Amount |
|---------------------|--------|
| 2018-03-01 10:00:00 | 1 |
| 2018-03-01 10:15:00 | 1 |
| 2018-03-03 08:30:00 | 1 |
正如你所看到的...... 2018-03-02没有记录......
但是在我的搜索结果中,我希望聚合这样的图表:
| Date | Total |
|------------|-------|
| 2018-03-01 | 2 |
| 2018-03-02 | 0 |
| 2018-03-03 | 1 |
我如何包含没有源数据的日期?
谢谢!
答案 0 :(得分:0)
您可以使用递归cte
方法
;with cte as (
select min(cast(dates as date)) mindate, max(cast(dates as date)) maxdate
from table t
union all
select DATEADD(day, 1, mindate) mindate, maxdate
from cte c
where c.mindate < c.maxdate
)
select c.mindate as date, count(t.amt) Total
from cte c left join table t
on t.dates = c.mindate
group by c.mindate