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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM