mysql中按照日期分组查询数量
mysql中按照日期分组查询数量,如何让没有的日期也显示出来,比如查询2014-11-01到2014-12-01号某个count(*),其中有的日期在数据库中是不存在的,...
mysql中按照日期分组查询数量,如何让没有的日期也显示出来,比如查询2014-11-01到2014-12-01号某个count(*),其中有的日期在数据库中是不存在的,如何让其也显示,只不过为0,样式如下:
2014-11-01 10
2014-11-02 10
2014-11-03 0
2014-11-04 10
2014-11-05 0 展开
2014-11-01 10
2014-11-02 10
2014-11-03 0
2014-11-04 10
2014-11-05 0 展开
2个回答
展开全部
SELECT DATE_FORMAT(time,'%Y-%m-%d') as day, sum(case when amount>0 then amount when amount=0 then 0 end) as amount1
from table where time>='2014-11-01' group by day;
我没有测试。time表示日期,amount表示数量。查询11月后每天成交数量
from table where time>='2014-11-01' group by day;
我没有测试。time表示日期,amount表示数量。查询11月后每天成交数量
更多追问追答
追问
谢谢,我是想查count(*),如果该天有数据,则显示该数据,如果库中没有该天的数据,则该天的数据显示为0,该如何写呢?
追答
SELECT DATE_FORMAT(time,'%Y-%m-%d') as day, sum(case when amount>0 then 1 when amount=0 then 0 end) as amount1
from table where time>='2014-11-01' group by day;
把then amount改为then 1就行了
amount是整型的话就判断是否大于0了,是varchar型就判断是否is not null然后再做then计算
2017-10-26 · 知道合伙人互联网行家
关注
展开全部
SELECT DATE_FORMAT(time,'%Y-%m-%d') as day, sum(case when amount>0 then amount when amount=0 then 0 end) as amount1
from table where time>='2014-11-01' group by day;
我没有测试。time表示日期,amount表示数量。查询11月后每天成交数量
from table where time>='2014-11-01' group by day;
我没有测试。time表示日期,amount表示数量。查询11月后每天成交数量
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |