mysql查询学生总成绩
『壹』 怎样统计SQL数据库里面每一个学生的各科成绩的总分
。。有哪些表,哪些字段啊
select 学号,课1+课2+课3+课4+课5 as 总成绩 from 成绩表
这种一张表的?
『贰』 sql语句的使用——查询每个学生的总分和平均分,有一张表
select sno, sum(grade) as total ,avg(grade) as average
from sc
group by sno
『叁』 MYSQL查询三门科目90分以上的学生的所有成绩
select
t.name,
(select sum(t2.grade) from 该表 t2 where t2.name = t1.name) as 总分
from 该表 t where t.grade>90 group by t.name having count(*)=3;
语句解释:查询出任意3门科目中出现90分以上的(不含90)的学生的内姓名和总分。
有问题容,请追问。
『肆』 查询学生总成绩的sql语句
select 学生.学号 as 姓名, sum(成绩.分数) as 总分
from 学生
left join 成绩 on 成绩.学号=学生.学号
group by 学生.学号
sql语句
更新:update table1 set field1=value1 where 范围
查找:select * from table1 where field1 like '%value1%' (所有包含'value1'这个模式的字符串)
排序:select * from table1 order by field1,field2 [desc]
求和:select sum(field1) as sumvalue from table1
平均:select avg(field1) as avgvalue from table1
最大:select max(field1) as maxvalue from table1
最小:select min(field1) as minvalue from table1[separator]
『伍』 数据库如何查询某个学生的总成绩
题目没有说清楚啊,select sum(score) from 成绩表 where sno='学号值'
『陆』 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;
(6)mysql查询学生总成绩扩展阅读:
学生成绩表常用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
『柒』 Mysql 单表查询各班级总分前三名
select class,total,name from (select *,ywsc+sxsc as total from st ORDER BY total DESC) b
where
not EXISTS(select * from (select *,ywsc+sxsc as total from st ORDER BY total DESC) c where c.class=b.class and b.total < c.total GROUP BY c.class HAVING COUNT(*)>2 )
ORDER BY b.class,b.total DESC
『捌』 5.用SQL命令查询所有学生的学号、姓名、总成绩、平均成绩。
用SQL命令查询所有学生的学号、姓名、总成绩、平均成绩。
select 学号,姓名,总成绩,(总成绩/总科数) from 表
『玖』 MySQL查询成绩最高的学生及分数(两张表)
参考sql如下:
『拾』 SQL数据库 查询每个学生的总成绩,结果包括学号和总成绩两个字段。
你可以把数据表再修改下.
把借阅表里再加个默认的字段(书的数量先默认为0)
在借书的时候edit这个数量或+1.如果是多选,就for循环选种书的总数量再去修改.
时间可以获取服务器时间.