mysql如何出查出最近7天,最近30天,最近n天的记录?
Posted seeway
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql如何出查出最近7天,最近30天,最近n天的记录?相关的知识,希望对你有一定的参考价值。
已查询浏览量为例:原始数据如下:
思路分析:数据有了,统计某一天的浏览量,所有浏览量,或固定时间段内的浏览量在这里我们就不多说了,大家都会,那我们是如何将最近七天的数据统计出来呢?
首先,我们说的最近7天,最近一周,并不是指数据库里所存的最后7天的数据,而是从今天算起,往前7天内数据库中的数据。这样的话,这样的话,就是以时间为主线(主表)
来统计时间所对应的浏览量。
select DATE_FORMAT(mycreatedate,\'%m-%d\') as countKey,ifnull(COUNT(pv.createdate), 0) as countValue from (
SELECT curdate() as mycreatedate
union all
SELECT date_sub(curdate(), interval 1 day) as mycreatedate
union all
SELECT date_sub(curdate(), interval 2 day) as mycreatedate
union all
SELECT date_sub(curdate(), interval 3 day) as mycreatedate
union all
SELECT date_sub(curdate(), interval 4 day) as mycreatedate
union all
SELECT date_sub(curdate(), interval 5 day) as mycreatedate
union all
SELECT date_sub(curdate(), interval 6 day) as mycreatedate
) as total
LEFT JOIN pageview pv on DATE_FORMAT(pv.createdate,\'%Y-%m-%d\')=total.mycreatedate GROUP BY mycreatedate
先查出最近7天是哪7天,然后left join ,有数据,我们统计那一天的count,没有的话补0,利用函数:ifnull(COUNT(pv.createdate), 0)来实现补0
查询结果如下:
这样就查询出了最近7天每一天的浏览量,当然了,应用在浏览量统计图(echarts)中就出现了如下效果:
这里使用的是echarts来做的报表,使用也非常简单,官网有很多样式可以选择,感兴趣的小伙伴可以到官网看看:http://echarts.baidu.com/examples.html
以上是关于mysql如何出查出最近7天,最近30天,最近n天的记录?的主要内容,如果未能解决你的问题,请参考以下文章