`
conkeyn
  • 浏览: 1504665 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

面试时 遇到一个数据库SQL 成绩排名

 
阅读更多

 

 

 

1、累积排名

SELECT
NAME,
ID,
SUBJECT,
SCORE,
(SELECT count(*)+1 FROM T_SCORE B WHERE b.SCORE>a.SCORE) AS sort
FROM
T_SCORE A

 

 

2、并列排名

SELECT  
    NAME,  
    ID,  
    SUBJECT,  
    SCORE,  
    (SELECT count(distinct SCORE)+1 FROM T_SCORE B WHERE b.SCORE>a.SCORE) AS sort  
    FROM  
    T_SCORE A 

 

 

 

姓名

ID

科目

成绩

张三

01

数学

80

李四

02

数学

90

王五

03

数学

85

谢六

03

数学

85

 

 

 

姓名

ID

科目

成绩

排名

张三

01

数学

80

3

李四

02

数学

90

1

王五

03

数学

85

2

谢六

03

数学

85

2

  • 大小: 12.2 KB
  • 大小: 12.8 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics