使用MySQL统计页面访问及排名

来源:互联网 发布:数据恢复软件比较 编辑:程序博客网 时间:2024/04/30 04:07


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

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 tdUNION 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)aLEFT JOIN (SELECT FROM_UNIXTIME(add_time, '%Y-%m-%d') add_data, COUNT( id ) AS totalcountFROM wifi_status_pageWHERE 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 tdUNION 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)aLEFT JOIN (SELECT FROM_UNIXTIME(add_time, '%Y-%m-%d') add_data, COUNT( id ) AS totalcountFROM wifi_status_pageWHERE 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 showhourFROM (SELECT DATE_ADD(CURDATE(), INTERVAL -1 HOUR) as tdUNION 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 showhourFROM (SELECT NOW() AS tdUNION 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



1 0
原创粉丝点击