昨天去面试时遇到一个这样的问题:
有一张成绩表,只有两个字段,姓名和成绩。怎样用一个sql语句查询出某个学生的姓名,成绩以及在表中的排名?
一时间我也想不出具体实现,我就提了两种思路:一种是通过join关联一个查询出他排名的sql语句;一种是通过group by来实现。
回答得连自己都觉得有点心虚。请问大家如何实现呢?
假设:表名字为Course,两个字段分别为name和score
实现语句:
SELECT 学生,成绩, (SELECT COUNT(*) FROM 表 WHERE a.成绩<=成绩) AS 排名 FROM 表 AS a
方法二:
declare @Course table(name varchar(100),cj int) insert into @Course select 'a',99 union all select 'b',66 union all select 'c',88 select * from ( select (select 1+count(name) from @Course where cj>t.cj) mc,name,cj from @Course t ) tem where name='b'
如果有成绩相同的记录的时候,goodspeed的语句确实有一些瑕疵,但是我根据他的语句稍微修改了一下就很完美了。
SELECT name,score, (SELECT COUNT(*)+1 FROM course WHERE a.score<score) AS sort FROM course AS a order by sort
更多请到这里查看评论
标签:
sql语句查询,排名
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
白云城资源网 Copyright www.dyhadc.com
暂无“只有两个字段用一个sql语句查询出某个学生的姓名、成绩以及在表中的排名”评论...
稳了!魔兽国服回归的3条重磅消息!官宣时间再确认!
昨天有一位朋友在大神群里分享,自己亚服账号被封号之后居然弹出了国服的封号信息对话框。
这里面让他访问的是一个国服的战网网址,com.cn和后面的zh都非常明白地表明这就是国服战网。
而他在复制这个网址并且进行登录之后,确实是网易的网址,也就是我们熟悉的停服之后国服发布的暴雪游戏产品运营到期开放退款的说明。这是一件比较奇怪的事情,因为以前都没有出现这样的情况,现在突然提示跳转到国服战网的网址,是不是说明了简体中文客户端已经开始进行更新了呢?
更新日志
2024年05月14日
2024年05月14日
- 哈迪斯2赫卡忒老师怎么打 黑帝斯2赫卡忒老师图文攻略
- 三国谋定天下新手入门指南 游戏新手开荒攻略
- 《非生物因素》机器人打法技巧
- 《兔子与钢铁》特色玩法介绍
- 《哈迪斯2》第二关boss打法攻略
- 天艺发烧精选试音王【非卖品】壹【WAV】
- 金海心.-.玲珑[WAV+CUE]
- 杜如松2007-《笛声吹向云水间》2CD笛箫独奏专辑[WAV+CUE]
- 美国要给奶牛吃小袋鼠的便便:称是阻止全球变暖
- 华硕ROG新掌机6月正式公开 续航能力或将翻倍
- 赞达亚拍摄杂志新写真:身材纤细曼妙 吸睛引人遐想
- 赵鹏《天净沙 2023头版限量编号24K金碟》[WAV+CUE][550MB]
- 张碧晨《开往早晨的午夜 首张个人专辑》[WAV+CUE][450MB]
- 群星《2023数字精品 Live合唱版》[FLAC+CUE][550MB]
- 杨润泽.2024-于是我抱住一棵树【FLAC分轨】