草庐IT

MySQL - 在分数表中为用户选择排名

我有一个具有该结构的“user_score”表:|id|user_id|group_id|score|timestamp||1|1|1|500|2013-02-2418:00:00||2|2|1|200|2013-02-2418:01:50||3|1|2|100|2013-02-2418:06:00||4|1|1|6000|2013-02-2418:07:30|我需要做的是从该表中选择来自确切组的所有用户。选择他们在该组中的实际(根据时间戳记)分数及其排名。我所拥有的是(编辑:在Jocachin的评论之后,我发现我自己的查询没有按我预期的那样工作,对不起所有人):SELECTuser_

php - 在不杀死服务器的情况下更新用户排名的最佳方式

我有一个以用户排名为核心部分的网站,但用户数量已增长到50,000多个,这给服务器带来了压力,要循环遍历所有这些网站以每5分钟更新一次排名。是否有更好的方法可以至少每5分钟轻松更新一次排名?它不必与php一起使用,它可以像perl脚本一样运行,或者类似的东西可以更好地完成工作(尽管我不确定为什么会这样,只是离开我的选项在这里打开)。这是我目前更新排名的方法:$get_users=mysql_query("SELECTidFROMusersWHEREstatus='1'ORDERBYmonth_scoreDESC");$i=0;while($a=mysql_fetch_array($ge

mysql - Django ORM - 具有不同选择子句的分组聚合

假设我们有一个DjangoORM模型Meetup,其定义如下:classMeetup(models.Model):language=models.CharField()speaker=models.CharField()date=models.DateField(auto_now=True)我想使用单个查询来获取语言、发言人和日期每种语言的最新事件。>>>Meetup.objects.create(language='python',speaker='mike')>>>Meetup.objects.create(language='python',speaker='ryan')>>>M

php - MySQL+PHP : optimise ranking query and count subquery

这是原始数据,想根据分数(count(tbl_1.id))对它们进行排名。[tbl_1]===========id|name===========1|peter2|jane1|peter2|jane3|harry3|harry3|harry3|harry4|ron所以制作临时表(tbl_2)来计算每个id的分数。SELECTid,name,COUNT(id)ASscoreFROMtbl_1GROUPBYidORDERBYscoreDESC;LIMIT0,30;那么结果是;[tbl_2]===================id|name|score===================

Mysql 使用过滤器获取排名

我有一个像这样的标记表:IDSTUDENT_IDBranch_idClass_idExam_idSubject_idNumbersDate16535118602012-01-0126535119402012-01-01365351110802012-01-01465351111502012-01-01565351112652012-01-01665351113332012-01-01765351115862012-01-01822251181002012-01-0192225119802012-01-011022251110922012-01-011122251111502012-01

sql - MySQL按两次平均排序

我在一个竞赛网站上工作,那里有两种类型的用户,普通网站成员和评委。每个人都可以使用拖放工具按照他们选择的顺序对特定比赛中的参赛作品进行排序。完成后,相关条目ID会附加一个排名值,然后可用于确定比赛中哪个条目获得最高平均分。实际上,获胜者将由每组的平均值决定。我希望做的是最终得到一个表格,显示特定比赛中的每个条目,带有标题,然后显示3个值,该条目的avg_normal,该条目的avg_judge,然后将这两个值加在一起,然后除以二,所以avg_normal和avg_judge各占avg_all的50%。最后,按avg_all对表格进行排序。avg_all=((avg_normal+avg

php - 向贝叶斯排名系统添加额外因素(点击次数)

我经营一个面向业余音乐家的音乐网站,我们有一个基于10分满分的评分系统,然后计算出总分100分。我们有一个直接影响用户的“信誉”积分系统评分时的平均分,但下一步是实现有效使用此数据的图表系统。我会尝试并准确解释它的工作原理,以便您了解我有哪些数据可供使用。网站成员给轨道打分,评分在1到10之间。该站点成员有一个“信誉”分数,它只是站点周围各种事件所累积的分数的总和。例如,用户通过给出评级获得100分,因此他们给出的评级越多,他们的“可信度”分数就越高。只有总可信度分数会保存在数据库中,每次用户执行带有积分奖励的事件时都会更新。这些个人事件不会被存储。根据该用户相对于对该轨道进行评分的其

用于随时间存储用户分数的 Mysql 数据库设计

我正在创建一个网站,所有用户的分数每天都会更新。我可以根据这个分数轻松创建排名,但是我希望能够创建周或月等的“热门”列表。我的蛮力设计是每天为每个用户计算他们的分数并将其放入“分数”表中。因此,Scores表每天都会随着用户数量的增加而增加。我可以根据用户在任何时间段内的分数增量对用户进行排名。虽然我相信这在技术上可行,但我觉得必须有更复杂的方法才能做到这一点,对吗?或不?我觉得分数表每天都随着用户数量的增加而增加,这不可能是其他网站正在做的事情。 最佳答案 您可以通过完全不存储任何分数快照来获得最大的灵active。相反,在发生时

mysql - 从 MySQL 中的表中加入单行

我有两个表players和scores。我想生成一个看起来像这样的报告:playerfirstscorepointsfoo2010-05-2019bar2010-04-1529baz2010-02-0413现在,我的查询看起来像这样:selectp.nameplayer,min(s.date)first_score,s.pointspointsfromplayerspjoinscoressons.player_id=p.idgroupbyp.name,s.points我需要与min(s.date)返回的行关联的s.points。这个查询会发生这种情况吗?也就是说,我如何才能确定我得到了

mysql:按ID分组,每个ID获得最高优先级

我有以下名为“pics”的mysql表,包含以下字段和示例数据:idvehicle_idfilenamepriority145a.jpg4245b.jpg1356f.jpg4467cc.jpg4545kt.jpg3667gg.jpg1是否可以在单个查询中为每个vehicle_id获取一行,并且该行的优先级最高?我正在寻找的结果:array([0]=>array([id]=>'2',[vehicle_id]=>'45',[filename]=>'b.jpg',[priority]=>'1'),[1]=>array([id]=>'3',[vehicle_id]=>'56',[filenam