大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
-------第一步,求总成绩(我把总成绩放在一个视图里了)
成都创新互联公司专业为企业提供武义网站建设、武义做网站、武义网站设计、武义网站制作等企业网站建设、网页设计与制作、武义企业网站模板建站服务,十载武义做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。
create
view
tg
as
select
学号,sum(成绩)
t
from
成绩表
group
by
学号
-------第二步,将总成绩导入到学生表(先运行上面代码)
update
学生表
set
总分=
tg.t
from
学生表,tg
where
学生表.学号=
tg.学号
------第三步,排名次
select
学号,姓名,总分,isnull((select
sum(1)
from
学生表
where
总分A.总分),0)+1
名次
from
学生表
as
A
order
by
(select
sum(1)
from
学生表
where
总分=A.部分)
-----------最后,嘿嘿,我能力不足,没做触发器了
Mysql 示例:
1. 创建t_student表
CREATE TABLE `t_student` (
`id` int NOT NULL AUTO_INCREMENT , -- 自增ID
`studentID` varchar(20) NULL , -- 学号
`studentName` varchar(20) NULL , -- 姓名
`subject` varchar(50) NULL , -- 科目
`score` double NULL , -- 成绩
PRIMARY KEY (`id`) -- 主键设置
);
2. 填充数据
3. 查询
SELECT
t_student.studentID,
t_student.studentName,
(SELECT b.score FROM t_student AS b WHERE b.studentID = t_student.studentID AND b.`subject` = '语文') AS chineseScore,
(SELECT b.score FROM t_student AS b WHERE b.studentID = t_student.studentID AND b.`subject` = '数学') AS mathematicsScore,
(SELECT b.score FROM t_student AS b WHERE b.studentID = t_student.studentID AND b.`subject` = '英语') AS englishScore,
SUM(t_student.score) AS totalScore
FROM t_student
GROUP BY t_student.studentID
ORDER BY totalScore DESC
select 学号,姓名,性别,班级,语文成绩,英语成绩,数学成绩,操作 from 表
union all
select 总分,null,null,null,sum(语文成绩),sum(数学成绩),sum(英语成绩),null from 表
SQL求总分及平均值的方法。
如下参考:
1.打开数据库软件,添加数据库,右键点击并选择新查询。
2.输出带SQL语句的类zd名称,附加项的平均分,命令是selectclasstableversion。类名,avg(分数)为平均分。
3.将学生表和班级表与班级号连接起来,然后将结果表和学生表与学生号连接起来。
4.数据表关联一般是使用联接命令,该命令是来自学生表联接类表上的类表。
5.将类名分组。该命令是groupbyclass表。