slq数据库中在任课表中统计所有课程的课时数

slq数据库中在任课表中统计所有课程的课时数,第1张

用子查询 select 姓名 from 学生,选课,课程 where 学生.学号=选课.学号 and 选课.课程号=课程.课程号 and 课程.课程名='数据库' and 学生.学号 in (select 学生.学号 from 学生,选课,课程 where 学生.学号=选课.学号 and 选课.课程号=课程.课程...

1.用SELECT语句对数据进行统计

2.集合函数(聚合函数,统计函数)

3.为了有效处理查询得到的数据集合,SQL Server提供了一系列统计函数.

4.这些函数可以实现数据集合和汇总:

avg ([ALL|DISTINCT]列名) 求指定数字字段的平均值

sum ([ALL|DISTINCT]列名) 求指定数字字段的总和

max([ALL|DISTINCT]列名) 求指定数字字段中最大值

min ([ALL|DISTINCT]列名) 求指定数字字段中最小值

count([ALL|DISTINCT]列名) 求满足条件记录中指定字段不为空的记录个数

count(*) 求满足条件记录总数

5.用GROUP BY子句对记录分类统计汇总

格式:

GROUP BY 分组字段名列表[HAVING 条件表达式]

功能:按指定条件对指定字段依次分组进行统计汇总

注:

使用GROUP BY 的语句仍可用ORDER BY子句排序

但必须在GROUP BY之后可以使用别名但不允许对SELECT没指定的列排序

HAVING子句是对分组统计后的查询结果进行筛选.

使用GROUP BY 的select语句仍可用WHERE子句指定条件.

建3个表:

【学生表】

学生ID,姓名....

【课程表】

课程ID,课程名称....

【选课表】

学生ID,课程ID

学生选课,实际上就是在【选课表】中添加记录

统计的时候这样来写

select [课程名称],count(*) as [选课学生数]

from [课程表] inner join [选课表] on [课程表.课程ID]=[选课表.课程ID]

group by [课程名称]


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10007562.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-04
下一篇 2023-05-04

发表评论

登录后才能评论

评论列表(0条)

保存