## 編寫乙個 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 例如,根據上...