草庐IT

javascript - 通过reddit排名算法对mongodb进行排序

这是一个根据Reddit的排名算法对项目进行排名的js代码。我的问题是:如何使用此代码对我的mongodb文档进行排名?(Reddit'srankingalgorithm)functionhot(ups,downs,date){varscore=ups-downs;varorder=log10(Math.max(Math.abs(score),1));varsign=score>0?1:score 最佳答案 你可以使用mapReduce:varmapper=function(){functionhot(ups,downs,date)

sql - MySQL,获取用户排名

我有一个如下所示的mysql表:idnamepoints1john46353tom73644bob2346harry9857我基本上想在不选择所有用户的情况下获得单个用户排名。我只想通过id选择一个用户并获得由他们拥有的点数决定的用户排名。例如,通过id3选择rank2返回tom。干杯头皮 最佳答案 SELECTuo.*,(SELECTCOUNT(*)FROMusersuiWHERE(ui.points,ui.id)>=(uo.points,uo.id))ASrankFROMusersuoWHEREid=@id密秩:SELECTuo

MySQL更新语句存储排名位置

我正在努力解决一个问题,但我就是想不通。如果有人给我指点,我将不胜感激。作为我要实现的目标的一个简单示例,我在数据库中有这些记录Score|Ranking-------------100|0200|0300|0我希望Ranking字段包含1、2、3,基于谁的得分最高,因此结果应该是:Score|Ranking-------------100|3200|2300|1目前,我正在为所有这些记录做一个fornext循环,但考虑到实际上可能有几千条——这可能需要很长时间!有没有人知道可以一次性完成此操作的神奇查询? 最佳答案 这是一种方法:

php - 如何从 mysql 足球 [足球] 结果表中即时输出排名表?

我一直在尝试查找有关此主题的内容,但似乎找不到任何内容,这里有一些问题,但它们不适用于我的特定项目。我问了一个关于更新表格的类似问题,但它对我真正想要的不起作用这是结果列表。--------------------------------------------------------|id|hometeam|goalsfor|goalsagainst|awayteam|--------------------------------------------------------|1|InterMilan|3|1|FCBarcelona|-----------------------

sql - 一张表中的多个排名

我需要以下,谁能帮我做。RankCust_TypeCust_NameRevenue1TopA100002TopB90003TopC80001BottomX50002BottomY60003BottomZ7000我需要对Top和BottomCust_Type进行单独的排名,所有这些都在MySQL中。 最佳答案 这有点棘手。您可能想要使用变量,例如在以下示例中:SELECT(CASEcust_typeWHEN@curTypeTHEN@curRow:=@curRow+1ELSE@curRow:=1AND@curType:=cust_typ

mysql - 数以百万计的条目排名

我正在开发一款可以处理数百万玩家的在线游戏服务器。现在游戏需要排行榜,并且希望能够显示玩家当前位置以及可能显示当前玩家位置附近的其他玩家以及玩家friend的位置。现在我以前在MySQL中做过这些东西,我知道这在技术上是如何实现的,但是我认为,由于这是许多在线游戏的常见做法,因此必须有专门用于此目的的库或数据库?谁能告诉我什么数据库最适合这些类型的查询以及可能已经完成大量此类工作的任何现有库?具有API访问权限的第三方服务也可以。希望得到一些好的建议,谢谢!编辑:为了澄清,我需要一个可以容纳数百万个条目的数据库(目前MySQL对此很有用),我可以通过它轻松获得排名结果。例如,如果我从“

mysql - 如何在 MySQL 中进行分组排名

所以我有一张如下表:ID_STUDENT|ID_CLASS|GRADE-----------------------------1|1|901|2|802|1|993|1|804|1|705|2|786|2|906|3|507|3|90然后我需要对它们进行分组、排序和排序:ID_STUDENT|ID_CLASS|GRADE|RANK------------------------------------2|1|99|11|1|90|23|1|80|34|1|70|46|2|90|11|2|80|25|2|78|37|3|90|16|3|50|2现在我知道您可以使用临时变量来进行排名,l

mongodb - 如何在Mongoose中按多个字段排序的列表中获取项目排名

我在MongoDB集合中有许多用户记录(>10000),可以按分数desc+timeasc+bonusdesc排序。如何使用Mongoose根据这种排序获得列表中一个用户的排名?假设索引已正确构建。 最佳答案 计算在您的排序顺序中排在该用户之前的用户数。我将从简单(非复合排序)的情况开始,因为复合情况下的查询更复杂,尽管思路完全相同。>db.test.drop()>for(vari=0;idb.test.find({},{"_id":0}).sort({"x":-1}).limit(5){"x":9}{"x":8}{"x":7}{"

mongodb - 如何在Mongoose中按多个字段排序的列表中获取项目排名

我在MongoDB集合中有许多用户记录(>10000),可以按分数desc+timeasc+bonusdesc排序。如何使用Mongoose根据这种排序获得列表中一个用户的排名?假设索引已正确构建。 最佳答案 计算在您的排序顺序中排在该用户之前的用户数。我将从简单(非复合排序)的情况开始,因为复合情况下的查询更复杂,尽管思路完全相同。>db.test.drop()>for(vari=0;idb.test.find({},{"_id":0}).sort({"x":-1}).limit(5){"x":9}{"x":8}{"x":7}{"

python - 在 Pandas 数据框中对子组中的行进行排名的更快方法

我有一个由不同子组组成的pandas数据框。df=pd.DataFrame({'id':[1,2,3,4,5,6,7,8],'group':['a','a','a','a','b','b','b','b'],'value':[.01,.4,.2,.3,.11,.21,.4,.01]})我想找到其组中每个id的排名,例如,越低的值越好。在上面的示例中,在A组中,Id1的等级为1,Id2的等级为4。在B组中,Id5的等级为2,Id8的等级为1,依此类推开。现在我通过以下方式评估排名:按值排序。df.sort('value',ascending=True,inplace=True)创建一个排