zoukankan      html  css  js  c++  java
  • 使用MySQL统计页面访问及排名


    统计访问页面数量,以分辨率进行排名

    	SELECT CONCAT(`height` , '*', `width`) AS `resolution` , COUNT(CONCAT(`height`, '*', `width`)) AS `total` 
    	FROM `wifi_status_page` 
    	GROUP BY CONCAT(`height`, '*', `width`) 
    	ORDER BY `total` DESC 
    	LIMIT 0 , 30

    最近7天页面访问量,每日统计数量,以日期为序

    	SELECT td AS showdate, COALESCE( totalcount, 0 ) AS totalcount 
    	FROM (
    		SELECT CURDATE( ) AS td
    		UNION ALL SELECT DATE_ADD( CURDATE( ) , INTERVAL -1 DAY ) 
    		UNION ALL SELECT DATE_ADD( CURDATE( ) , INTERVAL -2 DAY ) 
    		UNION ALL SELECT DATE_ADD( CURDATE( ) , INTERVAL -3 DAY ) 
    		UNION ALL SELECT DATE_ADD( CURDATE( ) , INTERVAL -4 DAY ) 
    		UNION ALL SELECT DATE_ADD( CURDATE( ) , INTERVAL -5 DAY ) 
    		UNION ALL SELECT DATE_ADD( CURDATE( ) , INTERVAL -6 DAY ) 
    		ORDER BY td
    	)a
    	LEFT JOIN (
    		SELECT FROM_UNIXTIME(add_time, '%Y-%m-%d') add_data, COUNT( id ) AS totalcount
    		FROM wifi_status_page
    		WHERE FROM_UNIXTIME(add_time, '%Y-%m-%d') BETWEEN DATE_ADD(CURDATE(), INTERVAL -6 DAY) AND CURDATE() 
    		GROUP BY add_data
    	)b ON a.td = b.add_data

    最近30天页面访问量,每日统计数量,以日期为序

    SELECT td AS showdate, COALESCE( totalcount, 0 ) AS totalcount 
    	FROM (
    		SELECT CURDATE( ) AS td
    		UNION ALL SELECT DATE_ADD(CURDATE(), INTERVAL -1 DAY)
    		UNION ALL SELECT DATE_ADD(CURDATE(), INTERVAL -2 DAY)
    		UNION ALL SELECT DATE_ADD(CURDATE(), INTERVAL -3 DAY)
    		UNION ALL SELECT DATE_ADD(CURDATE(), INTERVAL -4 DAY)
    		UNION ALL SELECT DATE_ADD(CURDATE(), INTERVAL -5 DAY)
    		UNION ALL SELECT DATE_ADD(CURDATE(), INTERVAL -6 DAY)
    		UNION ALL SELECT DATE_ADD(CURDATE(), INTERVAL -7 DAY)
    		UNION ALL SELECT DATE_ADD(CURDATE(), INTERVAL -8 DAY)
    		UNION ALL SELECT DATE_ADD(CURDATE(), INTERVAL -9 DAY)
    		UNION ALL SELECT DATE_ADD(CURDATE(), INTERVAL -10 DAY)
    		UNION ALL SELECT DATE_ADD(CURDATE(), INTERVAL -11 DAY)
    		UNION ALL SELECT DATE_ADD(CURDATE(), INTERVAL -12 DAY)
    		UNION ALL SELECT DATE_ADD(CURDATE(), INTERVAL -13 DAY)
    		UNION ALL SELECT DATE_ADD(CURDATE(), INTERVAL -14 DAY)
    		UNION ALL SELECT DATE_ADD(CURDATE(), INTERVAL -15 DAY)
    		UNION ALL SELECT DATE_ADD(CURDATE(), INTERVAL -16 DAY)
    		UNION ALL SELECT DATE_ADD(CURDATE(), INTERVAL -17 DAY)
    		UNION ALL SELECT DATE_ADD(CURDATE(), INTERVAL -18 DAY)
    		UNION ALL SELECT DATE_ADD(CURDATE(), INTERVAL -19 DAY)
    		UNION ALL SELECT DATE_ADD(CURDATE(), INTERVAL -20 DAY)
    		UNION ALL SELECT DATE_ADD(CURDATE(), INTERVAL -21 DAY)
    		UNION ALL SELECT DATE_ADD(CURDATE(), INTERVAL -22 DAY)
    		UNION ALL SELECT DATE_ADD(CURDATE(), INTERVAL -23 DAY)
    		UNION ALL SELECT DATE_ADD(CURDATE(), INTERVAL -24 DAY)
    		UNION ALL SELECT DATE_ADD(CURDATE(), INTERVAL -25 DAY)
    		UNION ALL SELECT DATE_ADD(CURDATE(), INTERVAL -26 DAY)
    		UNION ALL SELECT DATE_ADD(CURDATE(), INTERVAL -27 DAY)
    		UNION ALL SELECT DATE_ADD(CURDATE(), INTERVAL -28 DAY)
    		UNION ALL SELECT DATE_ADD(CURDATE(), INTERVAL -29 DAY)
    		ORDER BY td
    	)a
    	LEFT JOIN (
    		SELECT FROM_UNIXTIME(add_time, '%Y-%m-%d') add_data, COUNT( id ) AS totalcount
    		FROM wifi_status_page
    		WHERE FROM_UNIXTIME(add_time, '%Y-%m-%d') BETWEEN DATE_ADD(CURDATE(), INTERVAL -29 DAY) AND CURDATE() 
    		GROUP BY add_data
    	)b ON a.td = b.add_data

    昨天24小时分时

    	SELECT td AS showhour
    	FROM (
    		SELECT DATE_ADD(CURDATE(), INTERVAL -1 HOUR) as td
    		UNION ALL SELECT DATE_ADD(CURDATE(), INTERVAL -2 HOUR)
    		UNION ALL SELECT DATE_ADD(CURDATE(), INTERVAL -3 HOUR)
    		UNION ALL SELECT DATE_ADD(CURDATE(), INTERVAL -4 HOUR)
    		UNION ALL SELECT DATE_ADD(CURDATE(), INTERVAL -5 HOUR)
    		UNION ALL SELECT DATE_ADD(CURDATE(), INTERVAL -6 HOUR)
    		UNION ALL SELECT DATE_ADD(CURDATE(), INTERVAL -7 HOUR)
    		UNION ALL SELECT DATE_ADD(CURDATE(), INTERVAL -8 HOUR)
    		UNION ALL SELECT DATE_ADD(CURDATE(), INTERVAL -9 HOUR)
    		UNION ALL SELECT DATE_ADD(CURDATE(), INTERVAL -10 HOUR)
    		UNION ALL SELECT DATE_ADD(CURDATE(), INTERVAL -11 HOUR)
    		UNION ALL SELECT DATE_ADD(CURDATE(), INTERVAL -12 HOUR)
    		UNION ALL SELECT DATE_ADD(CURDATE(), INTERVAL -13 HOUR)
    		UNION ALL SELECT DATE_ADD(CURDATE(), INTERVAL -14 HOUR)
    		UNION ALL SELECT DATE_ADD(CURDATE(), INTERVAL -15 HOUR)
    		UNION ALL SELECT DATE_ADD(CURDATE(), INTERVAL -16 HOUR)
    		UNION ALL SELECT DATE_ADD(CURDATE(), INTERVAL -17 HOUR)
    		UNION ALL SELECT DATE_ADD(CURDATE(), INTERVAL -18 HOUR)
    		UNION ALL SELECT DATE_ADD(CURDATE(), INTERVAL -19 HOUR)
    		UNION ALL SELECT DATE_ADD(CURDATE(), INTERVAL -20 HOUR)
    		UNION ALL SELECT DATE_ADD(CURDATE(), INTERVAL -21 HOUR)
    		UNION ALL SELECT DATE_ADD(CURDATE(), INTERVAL -22 HOUR)
    		UNION ALL SELECT DATE_ADD(CURDATE(), INTERVAL -23 HOUR)
    		UNION ALL SELECT DATE_ADD(CURDATE(), INTERVAL -24 HOUR)
    		ORDER BY td
    	)a

    今天过去的11个小时

    	SELECT td AS showhour
    	FROM (
    		SELECT NOW() AS td
    		UNION ALL SELECT DATE_ADD(NOW(), INTERVAL -1 HOUR)
    		UNION ALL SELECT DATE_ADD(NOW(), INTERVAL -2 HOUR)
    		UNION ALL SELECT DATE_ADD(NOW(), INTERVAL -3 HOUR)
    		UNION ALL SELECT DATE_ADD(NOW(), INTERVAL -4 HOUR)
    		UNION ALL SELECT DATE_ADD(NOW(), INTERVAL -5 HOUR)
    		UNION ALL SELECT DATE_ADD(NOW(), INTERVAL -6 HOUR)
    		UNION ALL SELECT DATE_ADD(NOW(), INTERVAL -7 HOUR)
    		UNION ALL SELECT DATE_ADD(NOW(), INTERVAL -8 HOUR)
    		UNION ALL SELECT DATE_ADD(NOW(), INTERVAL -9 HOUR)
    		UNION ALL SELECT DATE_ADD(NOW(), INTERVAL -10 HOUR)
    		UNION ALL SELECT DATE_ADD(NOW(), INTERVAL -11 HOUR)
    		ORDER BY td
    	)a



  • 相关阅读:
    Trojan.DL.Agent.nxd和RootKit.Agent.yj木马清除
    Java中的格式化数值(eg:保留两位小数)
    Int16, Int32, Int64的一点感悟
    在win2003上设置asp网站
    WPF学习笔记.
    对WF工作流异常(Event on interface type for instance id cannot be delivered)的一点总结.
    创建,安装,调试 Windows Service
    灵活而又可怕的params参数数组
    (转) 输入码、区位码、国标码与机内码
    SQL Server 2008 未来将不再包含全文检索功能, 再研究此功能已经没多大意思了.
  • 原文地址:https://www.cnblogs.com/lanzhi/p/6467370.html
Copyright © 2011-2022 走看看