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;