MySQL复杂语句查询问题

来源:互联网 发布:powershell for linux 编辑:程序博客网 时间:2024/05/26 02:53
需求:
项目需要在查询数据的时候,将没有数据的日期自动补充数据。
实现思路:
设定一个变量进行叠加再用一个日期函数进行叠加日期从目标表和变量进行查询,遍历出我们需要的日期。在这个基础上与目标表有条件的左连接,这个时候使用判断函数进行查询,没有数据的日期自动补零。
具体实现效果如下:
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():函数向日期添加指定的时间间隔。


0 0
原创粉丝点击