Blog on 27th Floor
主页 随便 电脑 电影 社会 阅读 下载 本站 存档
主页 随便 电脑 电影 社会 阅读 下载 本站 存档

让Randomquote里更多出现新条目

12/22/05。  cathayan.org版权所有,保留一切权利。转载请保留此说明。谢绝商业转载。


本站页面右上角是个RandomQuote,是NucleusCMS的一个插件,它维护一个表,里面就是引用的这些语句,输出时就是select * from quote order by rand() limit 1 ,还是比较简单的。但我有点想让它优先显示新近加入的条目,老的东西少出来,原来想先找出最新的n条,再Random输出。但突然想到在ORDER BY上想办法也许更容易。RAND()输出是一个[0,1]的浮点数,如果要体现条目先后,再乘个item_ID就差不多了,这个ID是按先后递增的,改造为ORDER BY RAND()*id DESC,似乎就有点效果了。

算法肯定是不精确的,要增强rand()或id的权重,也许可以再用点平方或开方之类的函数。

12/22/05 00:01:00,由cathayan发表。目录:本站

5条评论

可以分两步来
第一步把所有帖子按时间段划成不同权重的区域
然后随机选取从哪个区域里读
第二步如你所述,随机从已选定的区域里选篇帖子就可以了。

http://www.fwolf.com/ Fwolf 于 12/22/05 01:02:38 发表. 

让我想起来Linux的进程调度,每个进程都有各自的priority,被调度之后自己的priority就减少(减少的量貌似和什么有关,忘了),这样每个进程被调度运行的机会就大致相同了,又不会出现某个进程 过 长时间占用处理器时间。

http://iusr.jar@gmail.com IUSR 于 12/22/05 09:05:22 发表. 

也就是自己随便用用,本身Mysql里面的Rand()就不是特别乱,再×个id号已经是乱上加乱,将就用啦。。。

http://blog.cathayan.org/member/1 cathayan 于 12/22/05 10:01:32 发表. 

赫赫,讨论讨论,确实没啥实际意义:P

http://iusr.jar@gmail.com IUSR 于 12/22/05 10:27:52 发表. 

呵呵,瞎琢磨呗

http://www.fwolf.com/ Fwolf 于 12/23/05 01:07:17 发表. 


这篇文章已经关闭,不能添加评论和投票
I am watching and will delete all spam.

我的E-Mail


Copy&Paste Exchange

访问CPeX Group

订阅Feed

订阅Feedburner
Feedsky订阅
本站订阅

请登录

导航

cathayan.org Web

最新贴

RIME 小狼毫/鼠须管的极点及五笔拼音配置
Software that rocks or sucks less
一棵热带的树换新叶的过程
几个有用的Vim招术
论语七 述而
Nomacs 图像浏览器
Windows 文件校验
Windows 10 文件批量命名简单方法
Windows 10 文件删除高级操作
本站也算是有响应式设计了

最新评论

Powered by

Powered by Nucleus CMS

版权声明

Creative Commons License
Blog on 27th floor by Cathayan is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.
Powered by Nucleus CMS v3.71. Best view with Mozilla browsers.