我的SQL
select to_char(FIELD1,'YYYY-MM-DD'), count(FIELD1) from xorderstatus group by to_char(FIELD1,'YYYY-MM-DD)
查出的数据
2012-01-01 5
2012-01-02 3
2012-01-04 5
2012-01-07 6
2012-01-08 5
日期有断了 我希望 如果该天没有 数据 那么 查出的记录显示为0 即
增加日期维度表
select 日期, count(FIELD1)
from 日期表 left join xorderstatus on 日期 = to_char(FIELD1,'YYYY-MM-DD')
group by 日期 最简单的方法是增加有所有日期的表,再与工作表连接,否则用递归查询生成所有日期,再与工作表连接
select dateLine.dates, count(FIELD1) from
(values ('2012-01-01'),('2012-01-02'),('2012-01-03'),('2012-01-04'),
('2012-01-05'),('2012-01-06'),('2012-01-07 '),('2012-01-08')
) as dateLine(dates)
left join xorderstatus on dateLine.dates = to_char(FIELD1,'YYYY-MM-DD')
group by dateLine.dates