LeetCode 178 分數排名(MySQL)

2021-10-04 19:03:04 字數 815 閱讀 5775

sql架構

編寫乙個 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 |

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

mysql:

select score,(select count(distinct score) from scores where score>=s.score)

as rank from scores s order by score desc 

leetcode178 分數排名

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

leetcode 178 分數排名

sql架構 create table ifnot exists scores id int score decimal 3 2 truncate table scores insert into scores id,score values 1 3.5 insert into scores id,s...

LeetCode 178 分數排名

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