178 分數排名

2022-02-06 22:47:43 字數 953 閱讀 6653

## 編寫乙個 sql 查詢來實現分數排名。 。     

示例:如果兩個分數相同,則兩個分數排名(rank)相同。請注意,平分後的下乙個名次應該是下乙個連續的整數值。換句話說,名次之間不應該有「間隔」。

+----+-------+

| id | score |+--

--+-------+|1

|3.50||

2|3.65||

3|4.00||

4|3.85||

5|4.00||

6|3.65|+

----+-------+

例如,根據上述給定的 scores 表,你的查詢應該返回(按分數從高到低排列):

+-------+------+

| score | rank |+--

-----+------+

|4.00|1

||4.00|1

||3.85|2

||3.65|3

||3.65|3

||3.50|4

|+-------+------+

`解題思路`

1distinct

count

select

a.score,

(select

count(distinct score) from scores as b where b.score>=a.score) as

rank

from scores as a order

by a.score desc

;

2dense_rank

`select

score,

dense_rank()

over(order

by score desc) as

rank

from

scores;`

178 分數排名

編寫乙個 sql 查詢來實現分數排名。如果兩個分數相同,則兩個分數排名 rank 相同。請注意,平分後的下乙個名次應該是下乙個連續的整數值。換句話說,名次之間不應該有 間隔 例如,根據上述給定的 scores 表,你的查詢應該返回 按分數從高到低排列 例如,根據上述給定的 scores 表,你的查詢...

178 分數排名

編寫乙個 sql 查詢來實現分數排名。如果兩個分數相同,則兩個分數排名 rank 相同。請注意,平分後的下乙個名次應該是下乙個連續的整數值。換句話說,名次之間不應該有 間隔 id score 1 3.50 2 3.65 3 4.00 4 3.85 5 4.00 6 3.65 例如,根據上述給定的 s...

178 分數排名

sql架構 編寫乙個 sql 查詢來實現分數排名。如果兩個分數相同,則兩個分數排名 rank 相同。請注意,平分後的下乙個名次應該是下乙個連續的整數值。換句話說,名次之間不應該有 間隔 id score 1 3.50 2 3.65 3 4.00 4 3.85 5 4.00 6 3.65 例如,根據上...