开发者社区> 问答> 正文

一个分组SQL,如何使在查询不到结果的时候,得到一条数据

现在有一张xx表,表里面有如下的数据,字段名为create_date(如下1)
我用

    select create_date, count(0) from xx where create_date BETWEEN date('2014-08-01') AND date('2014-09-01') group by create_date

去做个分组统计,得到了(如下2)的数据,没有19号的数据
问题:如何才能使统计的时候,即使没有19号的数据,也能得到一个0呢。
1:

    create_date
    2014-08-18
    2014-08-20
    2014-08-20
    2014-08-20
    2014-08-18
    2014-08-20
    2014-08-21
    2014-08-22
    2014-08-22
    2014-08-22
    2014-08-22
    2014-08-22
    2014-08-22
    2014-08-22

2:

    2014-08-18 2
    2014-08-20 4
    2014-08-21 1
    2014-08-22 7

展开
收起
吴孟桥 2016-06-08 17:24:19 2100 0
1 条回答
写回答
取消 提交回答
  • 用master..spt_values构造日期 然后与你的表LEFT JOIN就可以了
    screenshot

    2019-07-17 19:32:24
    赞同 展开评论 打赏
问答分类:
SQL
问答地址:
问答排行榜
最热
最新

相关电子书

更多
SQL Server 2017 立即下载
GeoMesa on Spark SQL 立即下载
原生SQL on Hadoop引擎- Apache HAWQ 2.x最新技术解密malili 立即下载