导航:首页 > 数据分析 > 如何找出数据库分数为前5的数据

如何找出数据库分数为前5的数据

发布时间:2024-05-30 07:53:09

㈠ sql 语句查询 前5名后5名的成绩

不知道你的是什么数据库,我用oracle的写法了。

两种办法:

  1. 分别求最大和最小,然后union all

    select * from(select* from table order by 成绩) where rownum<=5

    union all

    select * from(select* from table order by 成绩 desc) where rownum<=5

  2. 利用排序,找到每个人的位置,然后输出。排序的方法很多,可以用rownum排序,也可以用row_number()over()排序

    我用row_number()over()写一个

    selecta.姓名,a.成绩 from

    (select row_number()over(order by 成绩) num,姓名,成绩 from table) a where a.num<=5 or

    a.num>=(select count(*)-5 from table)

    我没实验,不过就算有问题也应该不大。

sqlserver的版本是啥?是2005以上么?如果是

那么利用那个row_number的应该也可以,不过为了让分数一样的人都出来,那么最好改为

这种情况是假设前五出现分数相同的话,假如前五名有六个人的情况,不过我没有输出名次,另外我上面的那种写法也可以试试,sqlserver好像也可以。

不过如果你要是sql2005以前的版本那时sqlserver还没有这几个开窗函数,那就稍微有点麻烦了。

select姓名,成绩 from

select rank()over(order by 成绩) num,rank()over(order by 成绩 desc) num_desc,姓名,成绩 from table) a where a.num<=5 or a.num_desc<=5 order by 成绩 desc

㈡ 用SQL命令查询数据库这门课排名前5的同学的学号和成绩若成绩相同按学号升序排列

sql server:
select top 5 学号,成绩
from 成绩表
where 课程名=‘数据库’
order by 成绩 desc,学号

oracle :
select 学号,成绩
from 成绩表
where 课程名=‘数据库’and rownum<=5
order by 成绩 desc,学号

㈢ 用SQL列出数据库成绩的前五名学生的学号、姓名、成绩

select student.学号,姓名,成绩 FROM STUDENT,SCORE WHERE STUDENT.学号=SCORE.学号 ORDER BY 成绩 DESC TOP 5 (本语句适合二级)

㈣ 如何查询数据库中排名前几位的数据

使用 select top 5 * from table order by id 时,报用select语句检索oracle数据库时出现ora-00923:未找到要求的from关键字。
因为该SQL语句是在SQLServer中的使版用的,如果权是在 Oracle中,需要使用 rownm 这个关键字用来返回 查询的记录条数。
eg: select * from table where rownnm<=5 order by id

阅读全文

与如何找出数据库分数为前5的数据相关的资料

热点内容
qq给对方播放影音文件对方看不到 浏览:973
tmfs是什么文件夹 浏览:471
火影战记各种版本完毕 浏览:123
mac的数据库 浏览:978
手拉手被写入中央哪个文件 浏览:776
ps压缩后的文件在哪 浏览:371
app直通车是什么意思 浏览:710
cad文件怎么输出为wmf文件 浏览:137
bat批量重命名word文件 浏览:64
汽车安卓导航悬浮 浏览:481
ps用快速蒙版调文件里黑白色 浏览:746
苹果6iphone解锁无法开启 浏览:201
高通模式线刷工具 浏览:40
打开pDF显示检查文件权限 浏览:825
怎么删除文件名中指定字符 浏览:595
图片如何转化文件格式 浏览:859
无货源铺货有哪些app 浏览:316
30g的文件可以保存在哪里 浏览:329
不同文件夹的pdf怎么批量拆分 浏览:98
顺丰速运文件到付多少钱 浏览:892

友情链接