mysql 在注册表中的位置_查找特定注册表的位置 - 排名/ asp classic / mysql

我有一个类似的问题,但有这种“user-03”类行重复多次。而且我还在使用两张桌子。

表结构:

分数表[分数浮点数,uid int,时间戳日期时间]

用户表[用户名varchar(500),id int等...]

排名标准是根据最高分数列出用户。所以我在sql查询中使用group by和JOIN修改了查询,如下所示。

排名系统。

SELECT *, @rownum:=@rownum+1 as rank

FROM (

select MAX(s.score) as score,u.username as username

from scorelog s join userdb u on s.uid=u.id

group by s.uid

order by MAX(s.score) desc

) user_rank, (SELECT @rownum:=0) r要识别单个行的位置及其在db上的排名,请使用以下查询。

SELECT *

FROM ( SELECT *, @rownum:=@rownum+1 as rank

FROM (

select MAX(s.score) as score,

u.username as username,

s.uid as uid,s.

timestamp as timestamp

from scorelog s join userdb u on s.uid=u.id

group by s.uid order by MAX(s.score) desc

) user_rank, (SELECT @rownum:=0) r

)t where username = 'johndoe'另请参阅stackoverflow中的以下资源,它们提供了类似的解决方案。

querying for user's ranking in one-to-many tables

SQL ranking solution

PHP MYSQL query result "RANKING"

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值