• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase
您的位置:首页 > 数据库 >数据库其它 > 只有两个字段用一个sql语句查询出某个学生的姓名、成绩以及在表中的排名

只有两个字段用一个sql语句查询出某个学生的姓名、成绩以及在表中的排名

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-11

通过本文主要向大家介绍了只有两个字段用一个sql语句查询出某个学生的姓名、成绩以及在表中的排名等相关知识,希望本文的分享对您有所帮助

昨天去面试时遇到一个这样的问题:

有一张成绩表,只有两个字段,姓名和成绩。怎样用一个sql语句查询出某个学生的姓名,成绩以及在表中的排名?
一时间我也想不出具体实现,我就提了两种思路:一种是通过join关联一个查询出他排名的sql语句;一种是通过group by来实现。
回答得连自己都觉得有点心虚。请问大家如何实现呢?
假设:表名字为Course,两个字段分别为name和score

实现语句:

SELECT 学生,成绩, 
(SELECT COUNT(*) FROM 表 WHERE a.成绩<=成绩) AS 排名 
FROM 表 AS a
</div>

方法二:

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'
</div>

如果有成绩相同的记录的时候,goodspeed的语句确实有一些瑕疵,但是我根据他的语句稍微修改了一下就很完美了。

SELECT name,score, 
(SELECT COUNT(*)+1 FROM course WHERE a.score<score) AS sort 
FROM course AS a order by sort
</div>

更多请到这里查看评论

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

相关文章

  • 2017-05-11海量数据库的查询优化及分页算法方案集合2/2
  • 2017-05-11推荐Sql server一些常见性能问题的解决方法
  • 2017-05-11SQL 注入式攻击的本质
  • 2017-05-11sql注入之必备的基础知识
  • 2017-05-11数据库学习建议之提高数据库速度的十条建议
  • 2017-05-11介绍PostgreSQL中的jsonb数据类型
  • 2017-05-11sqlserver和oracle中对datetime进行条件查询的一点区别小结
  • 2017-05-11DBCC SHRINKDATABASEMS SQL数据库日志压缩方法
  • 2017-05-11数据库分页查询语句数据库查询
  • 2017-05-11SQL SERVER 与ACCESS、EXCEL的数据转换

文章分类

  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase

最近更新的内容

    • sql 中将日期中分秒化为零的语句
    • 利用reverse索引优化like语句的方法详解
    • 读取修复:在读取路径期间修复
    • SQL大量数据查询的优化及非用like不可时的处理方案
    • 恢复 SQL 被注入后的数据代码
    • c3p0数据库连接池使用小结
    • Sql Server、Access数据排名的实现方法(例如:成绩排名)
    • 数据库删除完全重复和部分关键字段重复的记录
    • 设置CA证书来强化PostgreSQL的安全性的教程
    • 在SQL SERVER中查询数据库中第几条至第几条之间的数据SQL语句写法

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有