MySQL复杂语句查询问题

需求:
项目需要在查询数据的时候,将没有数据的日期自动补充数据。
实现思路:
设定一个变量进行叠加再用一个日期函数进行叠加日期从目标表和变量进行查询,遍历出我们需要的日期。在这个基础上与目标表有条件的左连接,这个时候使用判断函数进行查询,没有数据的日期自动补零。
具体实现效果如下:
SELECT
 t2.all_day AS createdOn,
 IFNULL(count(id), 0) AS sumOfActiveDriver
 FROM
 (
 SELECT
 @rownum := @rownum + 1 AS NO,
 DATE_ADD(
 '2016-04-05',
 INTERVAL @rownum DAY
 ) AS all_day
 FROM
 (SELECT @rownum := -1) a ,
 pay_history
 ) t2
 LEFT JOIN pay_history ON (
 t2.all_day = DATE(pay_history.created_on)
 )
 WHERE 1=1
 AND   t2.all_day >= '2016-04-05'
 AND   t2.all_day <= '2016-06-29'
 GROUP BY
 t2.all_day;
这里面使用到Data_ADD()和IFNULL这两个函数。
Data_ADD(): 函数向日期添加指定的时间间隔。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值