mysql实现查询某个字段数据在整个表中排名情况
2023-02-26 09:51:06 时间
今天在做一些业务处理的时候遇到的一个问题,就是需要在一张数据表当中查询指定字段在整张表的排名,并且获取这个排名。
于是上网搜索相关资料学习。
将相关代码记录以此便于日后复习查看!
分数相同,排名并列写法
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语句
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分钟
相关文章
- 多个@bean无法通过@resource注入对应的bean(org.springframework.beans.factory.NoUniqueBeanDefinitionException: No qualifying bean of type 'javax.sql.DataSource' available: expected single matching bean but found )
- Java程序员最容易犯的十大SQL错误,你犯过几次?
- SQL注入之简单了解堆叠注入
- MySql小技能:定时任务
- SQL语句练习07
- 《NoSQL实战:企业级大数据应用开发入门、实战与进阶》(WIP)
- 单机分布式一体化:OceanBase 4.0为下一代数据库“打样”
- win10下MySQL安装教程(MySql-8.0.26超级详细)
- MySQL使用遇到问题总结
- MySQL【一】基本使用----超详细教学
- MySQL【二】---数据库查询详细教程{查询、排序、聚合函数、分组}
- MySQL【三】---数据库查询详细教程{分页、连接查询、自关联、子查询、数据库设计规范}
- MySQL【四】---案例实战{拆分多表、外键创建等}
- 一文读懂数据库优化之分库分表
- NoSQL与SQL:主要区别及选型
- 是什么影响了MySQL索引B+树的高度?
- MySQL数据文件被误删,如何进行恢复?
- Centos8安装Mariadb出现mysql_secure_installation: command not found的解决办法
- 基于 Docker 搭建 MySQL 一主两从复制
- MySQL运行机制原理与架构