问题标签 [ranking]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
math - 如何减轻我的排名系统中的潮流效应(投票行为)?
我所说的潮流效应是这样描述自己的:
已经排名靠前的项目更有可能被投票,甚至可能被投票。
我希望得到的是一些具体的建议,充其量是基于您对数学公式的实际经验以及它在哪种情况下有所帮助。
但是,任何有用的指针都非常受欢迎!
我的排名系统
请考虑在具有信誉系统的网站上的排名系统,用户只对项目投赞成票,并且排名表被重置为每月重新开始。
每个用户在每个月内对每个项目都有一个点赞,并且对于在某个月内点赞的项目在该月末进入最高排名的用户会获得奖励。
用户被告知以下是什么增加了他们的投票权重:
1)...您在投票时拥有的声誉越多
2)...您在当月投票的项目越少(包括当前的投票)
3 )...在您自己的投票之前,该项目在本月内已经拥有的投票数越少
排名表每天重新计算一次,对所有人可见。
目标
我想实施第 3 部分),以纠正由于潮流效应而无法判断某些用户是否只是赞成它的项目的排名(这些用户可能希望仅仅通过投票来获得“战术”优势)他们感知到很多其他用户已经投票)
另外,我希望减轻这种方式,以防止可能使用袜子木偶,这些木偶设法获得了一些声誉,但对同一物品或一组物品进行了投票。
问题
是否有一个(甚至可能经过测试?)数学公式,我可以将其应用于每个项目的按时间排序的投票列表,以获得每个投票的系数,以便以合理的方式纠正它们的权重?
我认为它必须是一个对数函数,但我无法完全掌握它......
谢谢!
编辑
扎克说:“超过一定程度的受欢迎程度,额外的投票会降低展示某些东西的可能性”
进一步澄清:我所追求的是哪些实际的数学方法值得尝试,以数学函数的形式,以合理、平衡的方式将这种减少转换为流行音乐(即,将系数应用于权重,见上文) .
我希望有人在与上述类似或一般情况下具有这种方法的实践经验。
web - 在服务器上建立一个网站,如何阻止搜索引擎找到它?
我正在建立一个网站,听说如果该网站在搜索引擎上列出,它可能会得到坏名声,并且很难在这些搜索引擎中提升它的排名。
我想知道,我怎样才能让我的网站在我完成之前不被搜索引擎列出。
任何帮助,将不胜感激。
谢谢。
mysql - 如何使用 WHERE 子句和 UNION ALL 在 MySQL 中排名
我需要一些有关 MySQL 查询的帮助。我正在尝试使用 WHERE 子句对参与者进行排名。所以,我想分别对新手、中级和经验者进行排名。例如:
我试过了:
我想我需要以某种方式重新设置排名。也许我还有另一个问题?
mysql - 如何在 MySql 中减小此排名查询的大小?
我有一个排名查询,可以对团队在挑战中的表现进行排名。
数据的层次结构如下: 团队有成员 成员有活动 活动有活动类型 挑战有活动类型
如果我想在一个挑战中对所有团队的表现进行排名,这个查询效果很好:
这是一个格式化查询:http: //mysql.pastebin.com/XggRL5kX
ChallengeID,团队,排名 99 红队 1 99 蓝队 2
再一次,这对于特定的挑战非常有效,(ID = 33)
我想获得具有相同排名的查询,但要针对多个挑战,例如已经结束的挑战。
我试过这个查询:
这是一个格式化查询:http: //mysql.pastebin.com/mSZwtDm3
但是,并非每个挑战都有第一名和第二名,而是所有挑战的排名。像这样
ChallengeID,团队,排名 99 红队 1 99 蓝队 2 134 红队 3 134 蓝队 4 443 红队 5 442 蓝队 6
所以,我想,我在错误的地方评估排名,但我对如何完成这项工作有些想法。我怎样才能得到这样的结果: ChallengeID,团队,排名 99 红队 1 99 蓝队 2 134 红队 1 134 蓝队 2 443 红队 1 443 蓝队 2
php - 使用 PHP 和 MySQL 优化排名页面
我真的可以使用一些帮助来优化我网站上用于显示排名的表格。我已经阅读了很多关于如何优化查询以及如何正确使用索引的内容,但即使在实施了我认为可行的更改之后,也几乎看不到任何改进。我的快速解决方案是仅使用前 100,000 名排名(每天更新并存储在不同的表中)来提高现在的速度,但我真的不喜欢这个选项。
所以我有一个表来存储用户的信息,如下所示:
表“缓存”:
还有其他关于用户的变量被存储,但我认为它们在这里不相关,因为它们没有在排名中使用。
用户可以查看 3 个基本排名页面:
世界观:
区域视图:
和国家观点:
我已经尝试了几乎所有我能想到的索引组合来帮助减轻数据库的工作,虽然有些似乎有一点帮助,但我找不到一个只会为地区和国家查询返回 26 行的索引组合(使用只是一个关于“分数”的指数,世界排名正在飞速发展)。
我觉得我可能缺少一些基本的东西,任何帮助将不胜感激!
一点额外信息:缓存表目前大约 920 兆字节,总行数略多于 800,000 行。如果您可以使用更多信息,请告诉我。
sql - SQL Server 2000:1/3(或 2/3)记录中的字段长度
使用 SQL Server 2000 是否有更简单/更清洁的方法来执行此操作?
每隔几天我就需要这样做。
我先看看我们总共有多少条记录:
然后我列出某个字段的所有长度:
然后我需要向下滚动 1/3... 并记下值。然后我需要向下滚动 2/3... 并记下值。最后是最后一个值。
我需要找出 x、y 和 z:
php - 使用 MySQL 查询将特定值分配给数组元素
这个想法是运行一种排序 MySQL 命令,例如:
编辑:我也需要在这里添加一个 WHERE f_id = $id 。
我的 MySQL 数据库表中f_score列中的数值应该确定排名。f_score 仅包含数值,从 0 到任何值,用户操作从分数中加减。
然后使用 $sql 遍历一个数组并“排列”每个数组元素。我认为它应该为特定变量分配一个数字,以便我可以在网页上回显该数字。
例如你的等级是:01
我正在寻找轻量级的东西,但如果它不可能做到这一点,赢得最少的服务器使用量,我将不得不将它推到一个 cron 作业或一些不太理想的东西中。我在考虑数组和循环或类似的东西?
任何帮助将不胜感激!
-卡勒姆
sql - 从 2 个表格中计算高分排名
我有一个问答游戏,我想奖励用户进行 2 项活动:
1)正确回答
2)向问题池发送问题
我想查询特定玩家的得分和排名,我使用这个查询:
如果玩家在两个表中,即正确回答并发送了一个问题,它就会起作用。但如果玩家没有发送问题,它就不起作用
知道如何解决此查询吗?($userid 是给定的参数)
谢谢!
谢谢汤姆!唯一的问题是排名不正确:
userid score rank
58217 380 1
12354 80 3
32324 0 2
sql - 没有排名功能的排名
我编写了以下查询,以便选择每个客户的等级并将其与输出中的其他信息一起显示。
但我想知道如何在不使用DENSE_RANK()
函数的情况下进行排名工作。可能吗?