使用Mysql 统计一周数据,若没有数据显示为0

mysql查询最近一周的数据,如果当天无数据显示为0

--  @rownum 计算 7天内的日期,保证表内有至少7条记录,如果表数据不足6条,最终结果不足7天
--  t2 结果 示例 :
--  NO      all_day
--  0       2017-06-19 13:53:32
--  1       2017-06-18 13:53:32
--  2       2017-06-17 13:53:32
--  合计处使用count 显示数量,avg求平均值,示例结果如下
--  id  日期            合计    NO
--  40  2017-06-13      3       6
--  49  2017-06-14      2       5
--  52  2017-06-15      1       4

SELECT   id ,DATE(t2.all_day ) as 日期, IFNULL(count(表名.统计字段) ,0) as 合计,t2.NO  
FROM  
(  
  SELECT 
    @rownum:=@rownum+1 AS NO,  
    DATE_ADD(  NOW(), INTERVAL @rownum*(-1)  DAY) AS  all_day  
  FROM  
    (SELECT @rownum:=-1) r ,(select * from 表名 limit 7)  where  @rownum<6  
)  t2  
LEFT  JOIN 表名  ON (  DATE(t2.all_day ) =DATE(表名.统计日期) )   
where 筛选条件
GROUP BY  
  t2.all_day;  

你可能感兴趣的:(#,Mysql)