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天的记录?的更多相关文章
- mysql数据库连接出问题,提示超时 java.sql.SQLException: An attempt by a client to checkout a Connection has timed out.解决办法
mysql数据库连接出问题,提示超时,后来发现问题在于连接mysql数据库的jar包跟数据库版本不对应导致的,更换jar包一致就解决了.
- mysql 查询出的数组为null怎么转换成0
mysql 查询出的数组为null怎么转换成0 IFNULL(b.dayPay,0) as yesterdayPay,
- mysql找出重复数据的方法
mysql找出重复数据的方法<pre>select openid,count(openid) from info group by openid,jichushezhi_id HAVING ...
- mysql查询今天,昨天,近7天,近30天,本月,上一月数据的方法(摘录)
mysql查询今天,昨天,近7天,近30天,本月,上一月数据的方法分析总结: 话说有一文章表article,存储文章的添加文章的时间是add_time字段,该字段为int(5)类型的,现需要查询今天添 ...
- mysql not in、left join、IS NULL、NOT EXISTS 效率问题记录
原文:mysql not in.left join.IS NULL.NOT EXISTS 效率问题记录 mysql not in.left join.IS NULL.NOT EXISTS 效率问题记录 ...
- mysql 用init-connect+binlog实现用户操作追踪做access的ip的log记录
在MYSQL中,每个连接都会先执行init-connect,进行连接的初始化.我们可以在这里获取用户的登录名称和thread的ID值.然后配合binlog,就可以追踪到每个操作语句的操作时间,操作人等 ...
- 查询出menupath字段中 出现 “- "(横杆)大于3次的 记录
- mysql 5.1.71升级到5.6.30
mysql 5.1.71升级到5.6.30 mysqldump -h主机名 -P端口 -u用户名 -p密码 (–database) 数据库名 > 文件名.sql 备份MySQL数据库的命令 my ...
- 浅谈MySQL中优化sql语句查询常用的30种方法 - 转载
浅谈MySQL中优化sql语句查询常用的30种方法 1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 2.应尽量避免在 where 子句中使 ...
随机推荐
- centos7 下安装mysql 关键步骤
#wget https://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.35-linux-glibc2.5-x86_64.tar.gz 5.7版本下 ...
- HBase核心知识点总结
一.HBase介绍 1.基本概念 HBase是一种Hadoop数据库,经常被描述为一种稀疏的,分布式的,持久化的,多维有序映射,它基于行键.列键和时间戳建立索引,是一个可以随机访问的存储和检索数据的平 ...
- 第11章 拾遗1:网络地址转换(NAT)和端口映射
1. 网络地址转换(NAT) 1.1 NAT的应用场景 (1)应用场景:允许将私有IP地址映射到公网地址,以减缓IP地址空间的消耗 ①需要连接Internet,但主机没有公网IP地址 ②更换了一个新的 ...
- js数组冒泡
var arr 1= [1, 2, 3, 4, 5]; 最简单的 每组数字之间用逗号隔开 第一个数的索引值为0.数字为1 以此类推 中括号的内容是存var arr2 = Array(1, 2, 3); ...
- python各种推导式
字典推导式 例一:将一个字典的key和value对调 mcase = {, } mcase_frequency = {mcase[k]: k for k in mcase} print(mcase_f ...
- CSS便捷开发小工具汇总
1.Prefix free 可以帮助开发者省去编写各种CSS3属性前缀的工作,只需要在页面中引入prefixfree.js即可. 2. Normalize 是一个CSS Reset工具, 相比传统的R ...
- Android获取文件夹下的所有子文件名称;
public static List<String> getFilesAllName(String path) { File file=new File(path); File[] fil ...
- es6(15)--generator
//generator处理异步,下一步用next,遇到return或者yied就会停止 { //generator基本定义 let tell=function* (){ yield 'a'; yiel ...
- Android 自定义TabHost,TabWidget样式
界面比较简单,要想做得漂亮换几张图片就可以了. 第一步:先在布局(这里用了main.xml创建时自动生成的)里面放上TabHost ,只要将TabHost控件托至屏幕中就可: <?xml ver ...
- 遇到的问题&思考
MYSQL需要批量修改表前缀: http://jingyan.baidu.com/article/11c17a2c742561f446e39d2f.html Select CONCAT( 'ALTER ...