社区
基础编程
帖子详情
->唠叨大哥请进:关于24小时内点击最高的新闻sql语句
Jzealot
2005-01-19 02:26:51
原帖
http://community.csdn.net/Expert/topic/3697/3697188.xml?temp=.8094599
帖子虽然结了,但好像还有问题
如果datez是最后更新时间,那么就有一个问题存在
如果在24小时以内,a新闻点击了5次,b新闻点击了1次,点击a的最后一次时间在点击b的前面,
但是,假如b的总点击数比a高,那么得到结果并不是我们想要的结果,得到最高的是b而不是a!
...全文
329
7
打赏
收藏
->唠叨大哥请进:关于24小时内点击最高的新闻sql语句
原帖 http://community.csdn.net/Expert/topic/3697/3697188.xml?temp=.8094599 帖子虽然结了,但好像还有问题 如果datez是最后更新时间,那么就有一个问题存在 如果在24小时以内,a新闻点击了5次,b新闻点击了1次,点击a的最后一次时间在点击b的前面, 但是,假如b的总点击数比a高,那么得到结果并不是我们想要的结果,得到最高的是b而不是a!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
genshing
2005-02-22
打赏
举报
回复
楼上的想法不错~要了!嘿嘿
polygame
2005-01-20
打赏
举报
回复
我这几天在做一个东西也需要一个周点击排行,我现在正在做
是这样做的,加了几个字段,(最后点击时间戳,年月日周的点击次数5个字段和总点击次数)
同时实现了记录年月日周的点击数.有了点击数统计就很好统计了呵,当天的点击查日点击次数就好了
大概的代码这样的.呵呵,也不知道逻辑上有没有错误..因为还没有加到做的系统里面去.
$oldTimeStamp = mktime(0,0,0,1,16,2005); //这个从数据库里取出来,这里模拟的
//从数据库里初始化
$hits = 10;
$yhits = 10;
$mhits = 10;
$dhits = 10;
$whits = 10;
$nowDateArray = getdate();
$oldDateArray = getdate($oldTimeStamp);
//year process
if($nowDateArray["year"] == $oldDateArray["year"])
$yhits ++;
else
$yhits = 1;
//month process
if($nowDateArray["year"] == $oldDateArray["year"] && $nowDateArray["mon"] == $oldDateArray["mon"])
$mhits ++;
else
$mhits = 1;
//day process
if($nowDateArray["year"] == $oldDateArray["year"] && $nowDateArray["mon"] == $oldDateArray["mon"] && $nowDateArray["mday"] == $oldDateArray["mday"])
$dhits ++;
else
$dhits = 1;
//week process
//取得本周的开始结束时间段
//本周开始时间,从今天开始后退n天到星期天的0点,一个周从星期天开始.如果从星期一开始把0,0,0改为23,59,59
$tmpStartDate = mktime(0,0,0,$nowDateArray["mon"],$nowDateArray["mday"],$nowDateArray["year"]) - ($nowDateArray["wday"] * 86400);
//本周结束时间,本周六12点59
$tmpEndDate = mktime(23,59,59,$nowDateArray["mon"],$nowDateArray["mday"],$nowDateArray["year"]) + ((6 - $nowDateArray["wday"]) * 86400);
//如果上次更新在这个时间段内,为同一周
if($oldTimeStamp >= $tmpStartDate && $oldTimeStamp <= $tmpEndDate)
$whits ++;
else
$whits = 1;
//接下来更新最后记录时间数据库
$hits ++;//总点击数加1
$sql = "UPDATE TABLE SET HITS=".$hits.", YHITS=".$yhits.",MHITS=".$mhits.",DHITS=".$dhits.",WHITS=".$whits.",LASTTIMESTAMP=".$nowDateArray[0]." WHERE OID=".$id;
xuzuning
2005-01-20
打赏
举报
回复
由于时间是不会停止的,而你又要想知道某个时间段内帖子的点击数。所以简单的计数是不能满足要求的。
你的计数器必须能记录点击的帖子的id和点击的时间,结构也并不复杂。只需两个字段就够了。
Jzealot
2005-01-20
打赏
举报
回复
如果要记录每次点击的时间,这样表的结构会变得很复杂吧
请指点一下表的结构设计
谢谢!
xuzuning
2005-01-19
打赏
举报
回复
你记录了每次点击的时间吗?
yuanming007
2005-01-19
打赏
举报
回复
select top 1 * from tablec where datez >='dateadd(day,-1,getdate())' and datez <='getdate()' order by dianj desc
孟子E章
2005-01-19
打赏
举报
回复
Order By CountNum Desc
sql2008数据导入与导出
dodo 博客园首页新随笔联系管理订阅 ...SQL server 2008数据库的备份与还原(转) ...一、SQL数据库的备份: ...1、依次打开 开始菜单 → 程序 → Microsoft SQL Server 2008 → SQL Server Manag
一个程序员多年的收藏
程序员珍藏的东西会是什么?呵呵,除了平时写的代码,就是那些百看不厌的电子书了。 昨天很郁闷,我用了5年的移动...下载的兄弟注意了,
点击
下载后,可以在url中看到后缀名:),如果把后缀名改错了就看不了了,
宁做创业狼,不做打工狗
最恐惧的第二件事情,是看到自己年龄的日渐增长,可是自己的工作技能却没有获得任何提高,虽然靠着资历老工资也越来越多,可是看着那些新进来的年轻大学生,生龙活虎的干活,却只要那么一点的工资,老板的敲打在...
给一句 SQL 就能做多维分析
上一篇我们以 Excel 文件数据集为例,介绍了如何把 Excel 的数据透视表嵌入到俺的应用程序中。... 俺的程序支持对任何数据库做 SQL 数据集多维分析,只需先把数据源配置好,然后程序猿啪啪几下敲下需要进...
提问的智慧
在邮件列表、
新闻
组或网页论坛中,标题是你在五十个或更少的字符以内吸引有资格的专家注意的黄金机会,不要用诸如“请帮我”(更别提大写的“请帮我!!!”,这种标题的消息会被条件反射式地删掉)之类的
唠叨
浪费机会...
基础编程
21,886
社区成员
140,364
社区内容
发帖
与我相关
我的任务
基础编程
从PHP安装配置,PHP入门,PHP基础到PHP应用
复制链接
扫一扫
分享
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章