前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >mysql实现查询某个字段数据在整个表中排名情况

mysql实现查询某个字段数据在整个表中排名情况

作者头像
吃猫的鱼Code
发布2023-02-02 10:51:33
1.2K0
发布2023-02-02 10:51:33
举报

今天在做一些业务处理的时候遇到的一个问题,就是需要在一张数据表当中查询指定字段在整张表的排名,并且获取这个排名。

于是上网搜索相关资料学习。

将相关代码记录以此便于日后复习查看!


分数相同,排名并列写法

代码语言:javascript
复制
select score ,
if(@prerk = score,@rk,@rk:=@rk+1) as rank ,
@prerk:=score 
 from 表名,(select @rk:=0,@prerk:=NULL)  a
-- where score >0 
order by score desc 

上述sql语句查询了score这个字段,在书表当中的排名,查询结果后出现的字段是score,rank,@prerk:=lxdd。

rank就是排名了。

可以再嵌套一个select语句,再次查询指定的用户的score的分数。

于是嵌套了一个select语句

代码语言:javascript
复制
SELECT 
    *
    from 
    (select $rank_title ,id,
    if(@prerk = $rank_title,@rk,@rk:=@rk+1) as rank ,
    @prerk:=$rank_title 
    from user,(select @rk:=0,@prerk:=NULL)  a
    order by `$rank_title` desc) rank
    where `id` = $userid ;

上述语句查询 后就是指定的userid的等级排名了。

本文共 178 个字数,平均阅读时长 ≈ 1分钟

本文参与?腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客?前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与?腾讯云自媒体分享计划? ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com