当前位置:首页 » 编程语言 » sql计算班级求和
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

sql计算班级求和

发布时间: 2023-07-01 17:18:07

sql按条件汇总求和

如下:

1、第一步,将示例表导入SQL语句中,见下图,转到下面的步骤。

Ⅱ 求sql文,按班级分组计算总分并排名

select 班级,姓名,‘总分’,sum(分数)
from 表名
group by 班级,姓名
order by sum(分数) desc

Ⅲ 可不可以用一条SQL语句查询多人各自成绩的总和

查询多人各自成绩的总和sql语句如下:

select name,SUM(score)

from test2

group by name

按姓名分组,查看每个学生的优良中差统计:

SELECT sname, count(snum) 总数,

sum(case when snum<60 then 1 else 0 end) AS 不合格,

sum(case when snum>=60 AND snum<70 then 1 else 0 end) AS 中,

sum(case when snum>=70 AND snum< 90 then 1 else 0 end) AS 良,

sum(case when snum>=90 then 1 else 0 end) AS 优

FROM test.Score

group by sname

;

(3)sql计算班级求和扩展阅读

SQL中Group By的使用:

“Group By”从字面意义上理解就是根据“By”指定的规则对数据进行分组,所谓的分组就是将一个“数据集”划分成若干个“小区域”,然后针对若基滚干个“小区域”进行数据处理。

示例:

select 类别, sum(数量) as 数量之和

from A

group by 类别

这段代码实际上就是分类汇总。

在Access中不可以使用“order by 数量之和 desc”,但在SQL Server中则可以。

需要注枣段意的一点,在select指定的字段要么就要包含在Group By语句的后面,作为分组的依据;要么就要被包含在聚合函数中。搏岩余

Ⅳ SQL里边的求和语句怎么写

SQL中求和语句分为纵向汇总和横向汇总语句;

假设数据列为:A、B、C、D、E、F、G

纵向汇总语句:

select sum(A),sum(B),sum(C),sum(D),sum(E),sum(F),sum(G) from 表名

横向汇总的SQL语句是:
select A,B,C,D,E,F,G,A+B+C+D+E+F+G from 表名

求所有数据总和的SQL语句是:
select sum(A)+sum(B)+sum(C)+sum(D)+sum(E)+sum(F)+sum(G) from 表名

(4)sql计算班级求和扩展阅读:

SQL是一种查询功能很强的语言,只要是数据库存在的数据,总能通过适当的方法将它从数据库中查找出来。SQL中的查询语句只有一个:SELECT,它可与其它语句配合完成所有的查询功能。SELECT语句的完整语法,可以有6个子句。完整的语法如下:

SELECT 目标表的列名或列表达式集合

FROM 基本表或(和)视图集合

〔WHERE条件表达式〕

〔GROUP BY列名集合

〔HAVING组条件表达式〕〕

〔ORDER BY列名〔集合〕…〕

Ⅳ 急求SQL汇总出每个班级总的课时数(即每个班级所有学生选课时数的总和),并按总课时数降低排序。

Try this:

SELECT a.班级, SUM(b.课程号 * c.周课时数)
FROM 学生表 a , 选课表 b, 课程表 c
WHERE a.学号 = b.学号
AND b.课程号 = c. 课程号
GROUP BY a.班级
ORDER BY SUM(b.课程号 * c.周课时数) DESC

Ⅵ SQL按条件汇总求和

1、首先在SQL语句中中导入样表。

Ⅶ SQL语言基础(3)

count(字段)

求 select 返回的记录总数

查询学生总数

select count(*) from studnets;

count可以结合distinct使用,去重后的统计

查询一共有多少个班级 (把班级进首铅行去重后进行统计)

select count(distinct class) from students;

查询女学生的数量

select count(*) from studnets where sex ='女';

max(字段名)

查询指定字段里的最大值

查询students中的最大年龄

select max(age) from students;

查询女学生最大年龄

select max(age) from studnets where sex '女';

查询1班最大年龄

select max(age) from students where class = '1班';

min(字段)

查询指定字段里的最小值

查询学生中最小年龄

select min(age)  from students;

查询学生中女生最小年龄

select min(age) from studnets where sex ='女';

查询学生中1班最小年龄

select min(age) from students where class ='1班';

sum(字段名)

指定字段的值求和

查询学生的年龄总和

select sum(age) from students;

查询女学生的年龄总和

select sum(age) from students where sex = '女';

查询1班学生的年龄总和

select sum(age) from students where class ='1班';

age(字段)表示求此者耐好字段的平均值

查询班级中的平均年龄

select avg(age) from  studnets;

查询班级中女生的平均年龄

select avg(age) from students where sex = '女';

查询班级为1班的平均年龄

select avg(age) from students where class ='1班';

avg的字段中如果有null,null不做为分母计算平均值 (如果所查询的3个值,其中一个值为null,而只能算做两个值求平均值)

扩展练习

查询所有学生的最大年龄,最小年龄,平均年龄;

select max(age),min(age),avg(age) from students;

查询1班有多少个学生

select count(*) from sutdnets where class = '1班';

查询3班中年龄小于30岁的同学有多少

select count(*) from students where class ='3班' and age < '30';

group by 字段名

select 聚合函数 from 表名 where 表名 group by 字段 

group by 就是亩袜配合聚合函数使用的

分别查询男女同学的数量

select sex,count(*) from students group by sex;

查询各个年龄段的学生数量

select age,count(*) from students group age;

查询1班男生、女生的数量

select sex,count(*) from where class ='1班' students group by sex;

用数据分组的方法,统计各个班级学生总数,平均年龄,最大年龄,最小年龄

select class count(*),avg(age),max(age),min(age) from students group by class;

统计各个班级的学生总数,平均年龄、最大年龄、最小年龄、但不统计3班的学生,统计结果按班级从小到大排序

select class count(*),avg(age),max(age),min(age) from students where class !='3班' group by class order by class desc;

分组以后筛选

用where查询男生总数

select count(*) from studnets where sex ='男';

用having查询男生总数

select count(*) from students group by sex having sex ='男';

求班级人数大于3人的班级

select class, count(*) from students group by class having count(*)> 3;

Having与where筛选的区别

where是对标的原始数据进行筛选

having是对group by之后已经分过组的数据进行筛选

having可以使用聚合函数 where不能用聚合函数

查询班级总人数大于2人的班级名称以及班级对应的总人数

select class,count(*) from students group by class having count(*) > 2;

查询平均年龄大于30岁的班级名称和班级总人数

select class,count(*) from students group by class having ave(age) > 30;

select * from 表名 where 条件 group by 字段 order by 字段 limit start,count 

 语法:limit开始行,获取行数 

limit总是出现在select语句的最后

start代表开始行号,行号从0开始编号

count代表要显示多少行

省略start默认从0开始,从第一行开始

查询前3行学生记录

select * from students limit 0,3;

查询从第4条记录开始的三条记录

select * from studnets limit 3,3;

当有where或者group by或者order by,limit总是出现在最后

查询年龄最大同学的名字

select name from students order by age desc limt 0,1;

查询年龄最小女同学的信息

select * from students where sex = 女 order by age  limit 0,1;

当一张表记录特别多的时候,就需要用到分页显示

已知:每页显示m条数据,求查询第n页数据

公式 limit (n-1)*m,m

每页显示4条记录,第3页的结果  

select * from students limit 8,4;

每页显示4条记录,第2页的结果

select * form students limit 4,4;

已知每页也数,求一张表需要几页显示

    ♦求总页数

    ♦总页数/每页的记录数

    ♦如果结果是整数,那么就是总页数,如果结果有小数,那么就在结果的整数上+1

每页显示5条记录,分别多条select显示每页的记录

第一页  

select * from limit 5;

第二页   套用公式 (n-1)*m,m  m条数 n页数

select * from limit 5,5;

第三页

select  * from limit 10,5; 

第四页

select * from limit 15,5;

Ⅷ SQL数据库里的求和语句怎么写

用select sum(列名),sum(列名),sum(列名)…… from 表 where 条件。