Mysql 中按成绩降序排名 取名次。 每个人的名次都要有

Mysql 中按成绩降序排名 取名次。 每个人的名次都要有,第1张

SELECT B.NAME,

               B.SCORES,

              (SELECT COUNT(1) + 1

                  FROM 分数表 A

               WHERE A.SCORES >B.SCORES) PM

   FROM 分数表 B

 ORDER BY PM

SELECT Seq,Rs,TotalIndex FROM TABLENAME -- 正常查询

SELECT Seq,Rs,TotalIndex FROM Tablename Order By cast(TotalIndex As Decimal(32,16)) Desc -- 强制将 TotalIndex 字段转换为浮点型(32位长度,16位小数位) Desc 倒序{降序} / Asc 正序{增序}

--特别说明:如果数据量较大,请先按条件筛选出数据结果后,,再最外层Sql语句上去排序,这样的处理方式不会进行全表扫描,示例如下

Select t1.seq,t1.rs,t1.totalindex from (

SELECT Seq,Rs,TotalIndex FROM Tablename where Rs = ?

) t1 Order By cast(t1.totalindex As Decimal(32,16)) Desc


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/8620729.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-18
下一篇2023-04-18

发表评论

登录后才能评论

评论列表(0条)

    保存