当前位置:首页 » 编程语言 » sql如何查询前五名学生平均成绩
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

sql如何查询前五名学生平均成绩

发布时间: 2022-06-16 11:11:36

① 使用sql SELECT语句查询每个学生的平均成绩,在线等。

insert into pinjun(学生姓名, 平均成绩) select s.学生姓名,avg(c.成绩) from 学生表 s,成绩表 c where s.学生id=c学生id group by 学生id,学生姓名 order by avg(c.成绩) desc,c.学生姓名

② sql题 查询每位同学的课程门数、总成绩、平均成绩”的SQL语句是什么

不知道你的表结构是什么啊?
例如表的字段有姓名、课程、成绩的话
每人的总成绩:SELECT 姓名,SUM(成绩) FROM 表名 GROUP BY 姓名
每人的平均成绩:SELECT 姓名,SUM(成绩)/COUNT(*) FROM 表名 GROUP BY 姓名
每人的课程门数:SELECT 姓名,COUNT(*) FROM 表名 GROUP BY 姓名

③ 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

④ 用SQL语言查询每位同学的平均成绩,要求学号、姓名和平均成绩。怎么做,急!!!

select姓名,学号,avg(科目成绩+科目成绩..+N)from表名
groupby姓名,学号

⑤ 查询Score表中至少有5名学生选修的并以3开头的课程的平均分数。

1、首先在电脑中打开SQL Server编译器新建查询,这时可以输入投影列和数据源,如下图所示。

⑥ SQL语句 查询各学院平均成绩最高的学生姓名及平均成绩

select
学生表.学号,学生表.姓名,
average(成绩表.成绩)
as
平均成绩,
max(成绩表.成绩)
as
最高成绩,
min(成绩表.成绩)
as
最低成绩
from
学生表
left
join
成绩表
on
学生表.学号=成绩表.学号
order
by
学生表.学号
成绩表可换成语文、数学、英语等,查询结果就是各个学生相应课程的平均成绩、历史最高成绩、历史最低成绩。

⑦ 用SQL语言查询班上前5名学生成绩

SELECT TOP 5 * FROM 表 ORDER BY 成绩 DESC;

⑧ 取每个班前5名成绩的sql怎么写

--单纯通过top是不行的,要用到row_number()over()才能取到每个班的分别的前5名
select*from(selectt.*,row_number()over(partitionby班级orderby成绩desc)asfnumfrom表名T)t1wherefnum<=5

⑨ excel中SQL如何找出考试成绩总分前5名的同学

可以用row_number函数来解决。

1、创建测试表,插入数据:


createtablesc(idint,namevarchar(20),classvarchar(20),scoreint);insertintoscvalues(1,'badkano','一年一班',100)insertintoscvalues(2,'网络知道团长','一年一班',99)insertintoscvalues(3,'小短','一年一班',95)insertintoscvalues(4,'小小动','一年一班',97)insertintoscvalues(5,'小智','一年一班',80)insertintoscvalues(6,'吕布','一年二班',67)insertintoscvalues(7,'赵云','一年二班',90)insertintoscvalues(8,'典韦','一年二班',89)insertintoscvalues(9,'关羽','一年二班',70)insertintoscvalues(10,'马超','一年二班',98)

2、查询每个班级的前五名,可用语句:


select*from(selectrow_number()over()排名,*fromsc)twhere排名<=3orderbyclassasc,scoredesc

3、结果截图:

⑩ SQL求每个学生平均成绩

selects,学号,s,姓名,c,课程名,t,平均成绩

fromstudentass

leftjion

selectavg(成绩)as平均成绩,学号

fromscgroupby学号

)astont,学号=s,学号

leftjoinsconsc。学号=s,学号

leftjoincourseasconc。课程号=sc,课程号

功能:

SQL具有数据定义、数据操纵和数据控制的功能。

1、SQL数据定义功能:能够定义数据库的三级模式结构,即外模式、全局模式和内模式结构。在SQL中,外模式又叫做视图(View),全局模式简称模式(Schema),内模式由系统根据数据库模式自动实现,一般无需用户过问。

2、SQL数据操纵功能:包括对基本表和视图的数据插入、删除和修改,特别是具有很强的数据查询功能。

以上内容参考:网络-结构化查询语言