首页 >

rank函数和order – 数据库 – 前端|

ipad 键盘怎么用,手机怎么连音箱,自己怎么做笔记本电脑rank函数和order - 数据库 - 前端|rank函数和order

rank,order by 看上去都是排序,但rank的功能简直不要太灵活太强大。

order by就只是个排序,比如:select 学生姓名,科目,分数 from 成绩表 order by 分数 desc。

但是,当学生非常多时,order by只看出学生的大致成绩分布,不能看出具体的名次。如果要知道名次,就得rank配合上场了,如:select 学生姓名,科目,分数,rank() over(order by 分数 desc ) as 名次 from 成绩表 。用这个排序有个好处,如果有并列名次的,后面的名次会自动累积增加。比如有三个并列第2的,再下一个名次就是5。如果不想名次累积增加,就写成:select 学生姓名,科目 ,分数,dense_rank() over(order by 分数 desc ) as 名次 from 成绩表。这样在三个并列第2之后,名次仍然是第3。

以上方式是拉通排名次的,不管语文数学还是英语,都由高到低排名次。

rank还可以分区域查询,也就是说如果大家想各个科目分别排序,可以这么写:select 学生姓名,科目,分数,rank() over(partition by 科目 order by 分数 desc ) as 名次 from 成绩表。


rank函数和order - 数据库 - 前端|
  • mysql数据库用完了必须关闭吗 - 数据库 - 前端,mysql 远程复制表
  • mysql数据库用完了必须关闭吗 - 数据库 - 前端,mysql 远程复制表 | mysql数据库用完了必须关闭吗 - 数据库 - 前端,mysql 远程复制表 ...

    rank函数和order - 数据库 - 前端|
  • mysql求和sum出现小数点 |windows 执行mysql脚本
  • mysql求和sum出现小数点 |windows 执行mysql脚本 | mysql求和sum出现小数点 |windows 执行mysql脚本 ...

    rank函数和order - 数据库 - 前端|
  • 未在本地计算机上注册MicrosoftACEOLEDB120 - 数据库 - 前端|
  • 未在本地计算机上注册MicrosoftACEOLEDB120 - 数据库 - 前端| | 未在本地计算机上注册MicrosoftACEOLEDB120 - 数据库 - 前端| ...