中式排名和美式排名

这篇博客探讨了Excel、SQL以及C#+Linq中的排名方式,分别介绍了美式排名和中式排名的差异。在Excel中,美式排名在遇到相同分数时会跳过排名,而中式排名则会计算并列名次。SQL和C#+Linq的相关内容也有提及。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Excel中的排名

1、美式排名

函数=RANK(D5,$D 5 : 5: 5:D$11,0)

美式排名方法在实际运用当中用的最多。如图中所示,当出现两人分数相同,排名并列第2时,下一个名次直接为4。保证名次和总人数都保持为7。

2、中式排名

函数=SUMPRODUCT((D$5:D$11>D5)*(1/COUNTIF(D$5:D$11,D$5:D$11)))+1

中式排名如途中所示,在出现同样的相同分数,并列排名第2的时候,下一个排名为3,跟美式排名为第4不同,虽然人数总数为7,但它最终的排名为6。

SQL中的排名

-- 创建表
CREATE TABLE score (
id int(11) NOT NULL,
score float(5,2) DEFAULT NULL,
PRIMARY KEY (`id`));

-- 插入数据
INSERT INTO `score` VALUES ('1', '3.50');
INSERT INTO `score` VALUES ('2', '3.65');
INSERT INTO `score` VALUES ('3', '4.00');
INSERT INTO `score` VALUES ('4', '3.85');
INSERT INTO `score` VALUES ('5', '4.00');
INSERT INTO `score` VALUES ('6', '3.65');

1、美式排名

select 
    score,
    (select count(distinct score) from score as s2 where s2.score >= s1.score) Rank 
from score as s1
order by score DESC;

在这里插入图片描述

2、中式排名

select 
    scor
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值