周排行、月排行榜开发总结

预备知识:group by,MySQL函数week()、month()
在设计数据库时一般都有一个字段来记录文章的点击率,如果我们要统计一周或一个月点击率排行光靠这一个字段是肯定是无法实现的。这时就要新建一个表,用来记录每篇文章每天的点击率。
假设这个表名为ranking,定义四个字段:rid(表ID),contentid(与文章ID关联),hits(记录每天点击率),date(时间,重要,查询时作比较)
ranking大致结构

id      contentid      hits      date

1       2                   12        2010-12-18

2       2                   23        2010-12-19

3       1                   15        2010-12-19

4       2                    21       2010-12-20

一、统计

第一步就是要记录文章每天的点击率,这步非常简单

二、查询

此时统计工作已经完成,接下来要把这些文章按一周或一个月点击率总和的顺序查询出来,这是个难点。

1.先要给文章分组并计算总点击率:

Java代码  

  1. SELECT *,SUM(hits) FROM ranking GROUP BY contentid ORDER BY SUM(hits) DESC  

 2.取本周数据筛选出来:

Java代码  

  1. select *,sum(hits) from ranking where week(date)=week(now()) group by contentid order by sum(hits) desc  

这是周排行的查询语句,相对比较复杂,查询出来后再放到数组中依次显示出来,月排行也是这样,换一下函数就行,完整的PHP代码我就不写出来了。

时间: 2024-12-28 03:58:34

周排行、月排行榜开发总结的相关文章

新游预订1月第五周排行出炉月影传说破60W大关

多玩新游预订排行榜2011年1月第五周排行出炉. 月影传说本周的预定重新上升到第二位,到目前为止该游戏预订总数已在今日突破了六十万.改编自西山居经典单机游戏的网游<月影传说>从一开放预订就受到大量金山系玩家的关注.最近多玩预订又推出了"<月影传说>预订六十万送ipad"活动,即第60万名预订此款游戏的玩家将获得一部ipad.该活动吸引了更多的关注度和预订数. 另外,上周才开放预订就占领第二席位的韩国游戏TERA本周继续上升势头,最后以42988的预订数量超越所有

文件下载周排行和月排行的统计

问题描述 大家做过的那种文件下载周排行和月排行是如何统计出来的?而且还知道某个文件排名是上升还是下降了.我的文件表里只有总的下载次数.月和周是如何界定的? 解决方案 解决方案二:哪位能帮帮忙不?解决方案三:时间嘛!!!!俩时间之间咯解决方案四:获取服务器的时间啊.....解决方案五:如果某个文件截止到今天共下载了1000次,一周前下载了多少次并不知道哦,下载总数是累加的.解决方案六:这一周之内共下载了多次要如何才能知道?改数据库还是有什么其他办法?解决方案七:下载的时候没有记录他下载的时间的吗?

恋爱游戏最受欢迎 iOS精品应用一周排行

iOS精品应用一周排行一对于每位iPhone/iPad 用户来说App store肯定是大家最熟悉不过的地方了,但如何才能从中找到最好玩.最实用的应用则是每 个用户最头疼的问题.虽然App store的分类非常全面,但没有 多维度的搜索条件依旧让用户在数十万应用中难以下手.而对于App store分类搜索来说,用户往往更习惯于参考排行榜内容,毕竟这些软件.游戏是大众所爱.下面我将为您盘点一下App store排行榜中的游戏,通过几幅实用截图与简单说明,相信可以帮你更好的进行选择.宅男必玩恋爱类游

SQL按照日、周、月、年统计数据的方法分享_MsSql

--按日 select sum(consume),day([date]) from consume_record where year([date]) = '2006' group by day([date]) --按周quarter select sum(consume),datename(week,[date]) from consume_record where year([date]) = '2006' group by datename(week,[date]) --按月 select

中国(廊坊)大数据产业周12月开幕

文章讲的是中国(廊坊)大数据产业周12月开幕,中国(廊坊)大数据产业周将于12月7日正式在廊坊市开幕.据了解,中国(廊坊)大数据产业周由河北省工信厅.廊坊市人民政府.中国信息协会大数据分会和中国遥感应用协会主办,清华大数据产业联合会和中国数据中心产业发展联盟承办,重点聚焦大数据. 举办中国(廊坊)大数据产业周的目的是,贯彻党中央国务院的国家大数据战略,落实省委省政府推进京津冀协同发展的工作部署,展示廊坊市发展大数据产业的现实基础.主体规划.重点举措和发展愿景,利用廊坊市现有的各种优势资源,吸引行

用sql查询当天,一周,一个月的数据

用sql查询当天,一周,一个月的数据   数据查询,不管在网站还是在系统,都很常见,下文是介绍最常见的以日期查询的语句 select * from ShopOrder where datediff(week,ordTime,getdate()-1)=0   //查询当天日期在一周年的数据   select * from ShopOrder where datediff(day,ordTime,getdate()-1)=0   //查询当天的所有数据   --查询当天:  select * fro

SQL按照日、周、月、年统计数据的方法分享

--按日 select sum(consume),day([date]) from consume_record where year([date]) = '2006' group by day([date]) --按周quarter select sum(consume),datename(week,[date]) from consume_record where year([date]) = '2006' group by datename(week,[date]) --按月 select

新浪微博为什么热门话题进入了小时榜、日排行榜但却没进周排行?

  由于周排行榜单数据是7天的数据汇总,所以更新速度稍慢,故而有可能会导致短期内(1小时或者当日)数量较高的部分话题未在周数据中显示,请您稍等几小时后再次查看榜单.

PHP 日,周,月点击排行统计_php技巧

复制代码 代码如下: $now=time(); //当前时间 $StrUpdate = "Update $tbl_article set hits=hits+1"; if(date("d",$lasthittime)==date("d",$now)){//同一天 $StrUpdate = $StrUpdate.",dayhits = dayhits+1"; }else{ $StrUpdate = $StrUpdate.&quo