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
展开
 我来答
_student20
2014-11-26 · TA获得超过166个赞
知道小有建树答主
回答量:142
采纳率:0%
帮助的人:171万
展开全部
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月后每天成交数量
更多追问追答
追问
谢谢,我是想查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计算

DoramiHe
2017-10-26 · 知道合伙人互联网行家
DoramiHe
知道合伙人互联网行家
采纳数:25335 获赞数:59536
2011年中山职业技术学院毕业,现担任毅衣公司京东小二

向TA提问 私信TA
展开全部
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月后每天成交数量
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式