Mysql分數排名(連續值)

2021-09-01 10:59:24 字數 1233 閱讀 7259

1.構建一張表 

create table if not exists scores (id int,score decimal(3,2));  

truncate table scores;

insert into scores (id, score) values ('1','3.5');

insert into scores (id, score) values ('2','3.65');

insert into scores (id, score) values ('3','4.0');

insert into scores (id, score) values ('4','3.85');

insert into scores (id, score) values ('5','4.0');

insert into scores (id, score) values ('6','3.65');

-- 查詢去重後分數的,條件:當前行分數大於等於同表的分數的count數量,去重顯示,然後降序輸出

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

as rank from scores as s order by score desc;

-- 首先查詢去重後的分數作為新錶,使用count統計行,

-- 條件:當前去重表後的分數》=未去重的分數作為rank的引數,然後使用排序降序輸出

mysql 分數排名

表table1 欄位1 chengji 成績 欄位2 paiming 排名 50 0 80 0 70 0 20 0 90 0 如何用1條mysql查詢語句,執行後讓他們變成 欄位1 chengji 成績 欄位2 paiming 排名 50 4 80 2 70 3 20 5 90 1 solution...

MySql 分數排名

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

MYSQL分數排名

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