Ⅰ sql语言怎么显示成绩表中成绩最高的前十条学生的信息
SELECT TOP 10 *, Num=(SELECT count(DISTINCT result) FROM test_result WHERE RESULT>=RESULT)
FROM test_result
ORDER BY Num 字段写出来,我给你写清楚,方法就是这样
Ⅱ sql查询 从一张表中找到每个班成绩排在第十名的信息。
--按成绩降序排列 取前10个即可
select a.number,b.class,b.score from st_score as a
join (
select top(1) t.class,t.score from (
select top 10 class,score from st_score
group by class
order by score desc) as t order by t.score) as b
on a.class=b.class and a.score=b.score
order by b.class,b.score desc
Ⅲ 求一条SQL语句:能一次计算出各科前10名学生的平均成绩。
select '语文' as 科目, avg(语文) as 平均成绩 from
(select top 10 语文 from 成绩表 order by 语文 desc) as x
union all
select '数学' as 科目, avg(数学) as 平均成绩 from
(select top 10 数学 from 成绩表 order by 数学 desc) as y
union all
select '英语' as 科目, avg(英语) as 平均成绩 from
(select top 10 英语 from 成绩表 order by 英语 desc) as z
如果还有其它科目,可以用同样的方式往后加。
Ⅳ 请问 SQL数据库 在一张表中有不同的课程,我想求各个课程的平均成绩怎么求 在一张表中求出学生成绩前10%求
求各个课程的平均成绩:
select kc.课程.avg(kc.成绩) from kc group by kc.课程
求出表中前10%的学生成绩。
select top 10 percent * from table order by 成绩 desc
你是想求各个课程的平均成绩,还基圆是想求 学生的信息和他们的平均成绩?表结构是怎么岁锋告样的?可以贴出来看看吗?乎明
Ⅳ mysql中一张学生表,查询出单科成绩前十名学生的所有信息 和总分成绩前十名学生的所有信息 在线等
学生表名为:student, 单科成绩的字段为:subject。学生名字为:name
查询单科成绩前十:mysql语句为:select * from student order by subject desc limit 10;
查询总分成绩前十:mysql语句为:select sum(subject) subject,name from student group by name order by subject desc limit 10;
注:
select sum(subject) subject,name
这句的意思是:sum(subject) subject 把单科成绩加总用subject 来命名(就是总成绩),name就是一个字段,这里只有两个字段。
group by name order by subject : group by name 的意思按照名字这一栏来分组,当然,学生成绩表名字有可能是一样的,按照学号是最准确的,这里只是举个例子。
order by subject 这句的意思是按照总分成绩排序,这里的subject 是前面重命名总分的意思。
select sum(subject) as countsubject,name from student group by name order by countsubject desc limit 10;
(5)sql查询平均成绩前十的扩展阅读:
学生成绩表常用sql
1. 在表中插入符合主键
[sql]
/*成绩表*/
CREATE TABLE SC
(
Sid INT REFERENCES Student(Sid), /*学生学号*/
Cid INT REFERENCES Course(Cid), /*课程编号*/
Score INT NOT NULL, /*课程分数*/
PRIMARY KEY(Sid,Cid) /*将学生学号和课程编号设为复合主键*/
)
2. 查询各科成绩最高分,最低分以及平均分
[sql]
SELECT c.Cname, MAX(s.Score) AS Max, MIN(s.Score) AS Min, AVG(s.Score) AS Average
FROM Course c JOIN SC s ON c.Cid = s.Cid
GROUP BY c.Cname
/*此处应注意,若不按照c.Cname进行分组,SQL语句会报错,c.Cname在SELECT语句中不合法,因为它并未出现在聚合函数中也没有出现在GROUP BY语句中*/
3. 查询平均成绩大于80分的学生姓名以及平均成绩
[sql]
SELECT Sname, AVG(Score) AS Average FROM Student JOIN SC
ON Student.Sid=SC.Sid
GROUP BY Sname
HAVING AVG(Score)>80
/*以聚合函数为条件进行删选只能在HAVING语句中进行,WHERE语句不支持聚合函数*/
4.按总分为学生排名,总分相同名次相同
[sql]
SELECT RANK() OVER (ORDER BY SUM(ss.Score) DESC) AS Rank, s.Sname,
ISNULL(SUM(ss.Score),0)
FROM Student s LEFT JOIN SC ss
ON s.Sid = ss.Sid
GROUP BY s.Sname
ORDER BY SUM(ss.Score) DESC
/*RANK()是SQL Server的一个built-in函数,语法为
RANK() OVER ( [ partition_by_clause ] order_by_clause ).*/
5. 查询总分在100至200之间的学生姓名及总分
[sql]
SELECT s.Sname,SUM(ss.Score) FROM Student s JOIN SC ss ON s.Sid=ss.Sid
GROUP BY s.Sname HAVING SUM(ss.Score) BETWEEN 100 AND 200
Ⅵ 请问一下怎样用Sql统计单科的前10学生的平均成绩
因为ORDER BY 英语 对查询结果按英语字肢大皮段排序,而你的Select 中未包含英语字段
另TOP 语句是从历差查询结果中显示前N行,在这里加不不加好像一样仿戚
Ⅶ 用sql如何查询课程成绩排名呢
1、查询“001”课程比“002”课程成绩高的所有学生的学号:
SELECT * FROM tblScore ts1, tblScore ts2
WHERE ts1.stuid = ts2.stuid AND ts1.courseid = '001' AND ts2.courseid = '002
AND ts1.score > ts2.score
(7)sql查询平均成绩前十的扩展阅读
查询数据库使用SELECT命令。 这个命令相对比较复杂。可变化样式较多,这里分功能依次讲解。
1、查询数据表中所有数据 语法:select * from 表名。
2、查询指定字段的显示 语法:select 字段1,字段2,... from 表名。
3、as 别名 在查询时,默认结果显示的字段和表中字段名相同,可以通过别名来修改显示的样式 语法:select 字段1 as 别名,字段2 别名,... from 表名。在给字段起别名时,可以使用 as ,也可以直接在字段后跟别名,省略 as 。
4、消除重复数据 在查询数据时,查询结果可能会有很多重复的数据,如果不想重复,可以使用 distinct 来实现去重。 语法:select distinct 字段名 from 表名。distinct 在去重时,会比较所有的念基指定字段,携高逗只有完全相同时才认为是重复的。辩卖
5、带条件查询 where 子句 查询数据时,需要根据不同的需求设置条件。 通过 where 子句来设置查询条件。
参考资料
数据库-网络
Ⅷ 求一条SQL语句:能计算各科前10名学生的平均成绩的方法
select avg(语文) as 语文平均成绩 from (select top 10 * from 成绩表 order by 语文 desc)
select avg(数学) as 数学平银缓虚均成哪败绩 from (select top 10 * from 成绩表 order by 数学 desc)
select avg(英语锋燃) as 英语平均成绩 from (select top 10 * from 成绩表 order by 英语 desc)
Ⅸ 查询考试成绩前十名的学生编号和学生成绩用SQL Server怎么查询
应该首先排除掉挂科的学生,然后按成绩倒序排列取前十位考生的成绩和编号。
select top 10 studentid,stcore from 成绩表
where studentid not in (select studentid from 补考表 )order by stcore desc,studentid
Ⅹ SQL语言怎么显示成绩表中成绩最高的前十条学生的信息
select * from 成绩表 order by 成绩 desc limit 10