sql查询某个学生成绩排名
A. sql语言,有一个成绩单表,已知学生姓名,如何查询名次
1、创建测复试表,
create table test_score(name varchar2(20), score number);
B. 如何用SQL查询单个学生的成绩的排名
如何用SQL查询单个学生的成绩的排名
用SQL查询单个学生的成绩的排名
只要指定单个学生的条件及排序即可
C. sql查询某个学生的平均成绩的排名
1
2
3
4
5
6
7
8
9
10
11
select s.dname,s.sname,s.avggrade
from
(select t.dname,t.sname,t.avggrade,row_number() over (partition by t.dname order by t.avggrade desc) rn
from
(select a.name dname,b.name sname,avg(c.grade) avggrade
from
department a,student b,takes c
where a.department_id=b.department_id
and b.student_id=c.student_id
group by a.name,b.name) t) s
where s.rn=1
包含并列的情况,如果一个学院有两个第一,两个人都显示,以上为 sqlserver或oracle写法,其他数据库执行不了
-------------补充-----------
给你个通用的
select s2.*
from
(select t.dname,max(t.avggrade) avggrade
from
(select a.name dname,b.name sname,avg(c.grade) avggrade
from
department a,student b,takes c
where a.department_id=b.department_id
and b.student_id=c.student_id
group by a.name,b.name) t
group by t.dname) s1,
(select a.name dname,b.name sname,avg(c.grade) avggrade
from
department a,student b,takes c
where a.department_id=b.department_id
and b.student_id=c.student_id
group by a.name,b.name) s2
where s1.dname=s2.dname
and s1.avggrade=s2.avggrade
D. SQL语句查询 实现每个学生的每单元最好成绩的总和,再把每个人的总和成绩排名 (一条语句实现)
select 学生来ID, SUM(b.最高成源绩 ) 总和
from
(select 学生ID, 单元ID ,MAX(成绩) 最高成绩
from Test group by 学生ID,单元ID ) b group by b.学生ID
E. sql查询排名总分前十的学生姓名!
SELECT * FROM (SELECT 班级自,姓名,SUM(分数) 总分数,ROW_NUMBER() OVER(PARTITION BY 班级 ORDER BY SUM(分数) DESC) 班级名次 FROM 表名 GROUP BY 班级,姓名) T WHERE 班级名次<=10 ORDER BY 班级,班级名次
F. 数据库如何查询某个学生的总成绩
题目没有说清楚啊,select sum(score) from 成绩表 where sno='学号值'
G. 求一条SQL语句查出三年级学生的总成绩排名:学生姓名,老师姓名,所属班级,总分,排名
求一条SQL语句查出三年级学生的总成绩排名:学生姓名,老师姓名,所属班级,总分,排名
select
学生表a.名称 as 学生姓名,
老师表b.名称 as 老师姓名,
班级表c.名称 as 所属班级,
总分表g.总分 as 总分,
rownum as 排名
from
(select
学生编号 as 学生编号,
sum(考试成绩) as 总分
from
成绩表f
group by 学生编号)总分表g
inner join
学生班级表d
on
学生班级表d.学生编号 = 总分表g.学生编号
inner join
老师班级表e
on
老师班级表e.班级编号 = 学生班级表d.班级编号
inner join
班级表c
on
班级表c.编号 = 老师班级表e.班级编号
inner join
学生表a
on
学生表a.编号 = 学生班级表d.学生编号
inner join
老师表b
on
老师表b.编号 = 老师班级表e.老师编号
where
班级表c.年级 = '三年级'
order by 总分表g.总分 desc
不同数据库取得rownum的方法不一样注意变下
H. 每个学生有不同成绩,sql查询最高成绩的排名
1.每个学生可以是参加了一次或者多次的考试,对吧?
2.你是使用什么数据库?版MySQL?Oracle?SQLServer?
3.若学生中权最高的成绩都是相同的分数,如何排名?是给相同的名次还是依旧随机增序的方式排序?
I. 用sql语句,查询每个班级成绩排名前三名的学生姓名
1、首先在打开的SQLServer中,假设有两条数据中,包含有【张】,但是这个张一前一后,如专下图所属示。
J. sql 查找成绩排名第二的同学
sql 查找成绩排名第二的版同学权
select top 1 * from tbl_score where tbl_score NOT IN ( select top 1 * from tbl_score )