⑴ sql计算并显示班上每位同学成绩的总分和平均分,并按总分从高到低排序
----统计函数----
AVG
--求平均值
COUNT
--统计数目
MAX
--求最大值
MIN
--求最小值
SUM
--求和
order
by
stockid
desc(asc)
---------
排序,desc-降序,asc-升序
⑵ 求一条SQL语句查出三年级学生的总成绩排名:学生姓名,老师姓名,所属班级,总分,排名
select
学生表a.名称as学生姓名,
老师表b.名称as老师姓名,
班级表c.名称as所属班级,
总分表g.总分as总分,
rownumas排名
from
(select
学生编号as学生编号,
sum(考试成绩)as总分
from
成绩表f
groupby学生编号)总分表g
innerjoin
学生班级表d
on
学生班级表d.学生编号=总分表g.学生编号
innerjoin
老师班级表e
on
老师班级表e.班级编号=学生班级表d.班级编号
innerjoin
班级表c
on
班级表c.编号=老师班级表e.班级编号
innerjoin
学生表a
on
学生表a.编号=学生班级表d.学生编号
innerjoin
老师表b
on
老师表b.编号=老师班级表e.老师编号
where
班级表c.年级='三年级'
orderby总分表g.总分desc
不同数据库取得rownum的方法不一样注意变下
⑶ 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 数据库 怎样检索出每个班级里 总分数TOP10的学生姓名,并按班级和总分排名
SELECT*FROM(SELECT班级,姓名,SUM(分数)总分数,ROW_NUMBER()OVER(PARTITIONBY班级ORDERBYSUM(分数)DESC)班级名次
FROM表名
GROUPBY班级,姓名)T
WHERE班级名次<=10
ORDERBY班级,班级名次
⑸ SQL语句 捞出各班级总分第二的人
--按班级分组 最大的总分 去掉最大的分数 就是第二名
select x.* from A x,
(select classId,max(Math+English+Yuwen) as SecondScore from A
where Id not in --先去掉总分第一名的id
(select A.ID from A,
(select ClassId,max(Math+English+Yuwen) as TotalScore from A
group by ClassId) t
where a.Math+a.English+a.Yuwen=t.TotalScore and A.ClassId=t.ClassId)
group by classId) temp
where x.Math+x.English+x.Yuwen=temp.SecondScore
and x.ClassId=temp.ClassId
⑹ SQL语句 计算每个班的高考总分平均分,显示班级号和高考平均分
SQL语句如下:
select班级号, avg(总成绩)
from (
elect班级号,学生号,sum(成绩) 总成绩
from表
)
语言特色:
结构化查询语言是高级的非过程化编程语言,允许用户在高层数据结构上工作。它不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以具有完全不同底层结构的不同数据库系统。
可以使用相同的结构化查询语言作为数据输入与管理的接口。结构化查询语言语句可以嵌套,这使它具有极大的灵活性和强大的功能。
⑺ 用sql语句,查询每个班级成绩排名前三名的学生姓名
1、首先在打开的SQLServer中,假设有两条数据中,包含有【张】,但是这个张一前一后,如下图所示。
⑻ sql 如何查询每个班级中的最高分
具体代码如下:
select班级名称,分数=MAX(成绩)
from
学生表sjoin班级表c
ons.班级号=c.班级号
join成绩表sc
ons.学号=sc.学号
groupby班级名称
(8)sql各班级总分排名扩展阅读:
SQL JOIN 子句用于把来自两个或多个表的行结合起来,基于这些表之间的共同字段。
最常见的 JOIN 类型:SQL INNER JOIN(简单的 JOIN)。 SQL INNER JOIN 从多个表中返回满足 JOIN 条件的所有行。
不同的 SQL JOIN,您可以使用的不同的 SQL JOIN 类型:
INNER JOIN:如果表中有至少一个匹配,则返回行
LEFT JOIN:即使右表中没有匹配,也从左表返回所有的行
RIGHT JOIN:即使左表中没有匹配,也从右表返回所有的行
FULL JOIN:只要其中一个表中存在匹配,则返回行
Oracle官方API接口-PL/SQL API
W3cSchool-SQL JOIN
⑼ 求sql文,按班级分组计算总分并排名
select 班级,姓名,‘总分’,sum(分数)
from 表名
group by 班级,姓名
order by sum(分数) desc
⑽ sql 数据库怎样检索出每个班级里总分数TOP10的学生姓名,并按班级和总分排名
sql 数据库怎样检索出每个班级里总分数TOP10的学生姓名,并按班级和总分排名:
select class,grade from student group by class havingtop10(grade)
这里用一下top方法就可以定位到你想要的那一行啦
希望我的回答对你会有帮助