zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    Intellij IDEA 使用总结
    Apache Camel之FTP组件学习
    谈一谈EasyUI中TreeGrid的过滤功能
    JAVA实用案例之图片水印开发
    三、SolrCloud的搭建
    style里面设置变量
    for 循环中 break-continue 与label标签的使用
    vue ref的用法
    Vuex实践
    vue 数据动态响应(Vue.set方法)
  • 原文地址:https://www.cnblogs.com/ynxrsoft/p/7417404.html
Copyright © 2011-2022 走看看