请问有没法用mysql对某一列的数据进行排名吗?

请问有没法用mysql对某一列的数据进行排名吗?一条数据里有5列数据,当数据条数多了后,我希望分别生成5列排名,就是根据这5列数据来生成的,不知道mysql有没有办法做到。

image.png

yzm545275 发布于 2022-6-22 17:26
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
0
yzm545275Lv4见习互助
发布于2022-6-22 18:02

https://wenku.baidu.com/view/7a5f3577f31dc281e53a580216fc700abb6852fd.html

最佳回答
0
好好生活好好学习Lv7资深互助
发布于2022-6-22 17:29(编辑于 2022-6-22 17:41)

image.png

可以排名啊

(@i := case  when  @pre_MASS_NO=MASS_NO then @i + 1 else 1 end )  rownum,

(@pre_MASS_NO:=MASS_NO)

 from BO_EU_MASS_PRO p,

 (SELECT  @i := 0, @pre_MASS_NO:='') AS a  

  where p.STAUTS = 3 

image.png

这个加了吗?

还有那个辅助表

mysql如何给查询加序号 - MySQL数据库 - 亿速云 (yisu.com)

image.png

  • yzm545275 yzm545275(提问者) 看不懂,这个需要排名的字段是放在哪个位置进行循环
    2022-06-22 17:32 
  • 好好生活好好学习 好好生活好好学习 回复 yzm545275(提问者) 我截图的排名是相当于那 mass_no做排名 , pre_mass_no 相当于自定义的一个参数
    2022-06-22 17:34 
  • yzm545275 yzm545275(提问者) 回复 好好生活好好学习 我把mass_no换成我的排名字段,得出的名次都是1,不知道哪里有问题
    2022-06-22 17:39 
  • yzm545275 yzm545275(提问者) select (@i := case when @pre_MASS_NO=字段A then @i + 1 else 1 end ) rownum, (@pre_MASS_NO:=字段A) from 我的表 p, (SELECT @i := 0, @pre_MASS_NO:=\'\') AS r
    2022-06-22 17:43 
  • yzm545275 yzm545275(提问者) 我是这么按你的语句改的,一共生成了两列,一列是rownum,一列是(@pre_MASS_NO:=字段A)
    2022-06-22 17:44 
  • 1关注人数
  • 363浏览人数
  • 最后回答于:2022-6-22 18:02
    请选择关闭问题的原因
    确定 取消
    返回顶部