
1 数据准备
use yzl; /* 使用yzl这个database */
drop table if exists student_info; /* 如果表student_info存在则删除表student_info */
CREATE TABLE `student_info` ( /* 创建表student_info */
`id` int(11) NOT NULL auto_increment,
`stu_id` int(11) DEFAULT NULL COMMENT '学生ID',
`stu_name` varchar(30) DEFAULT NULL COMMENT '学生姓名',
`stu_class` varchar(30) DEFAULT NULL COMMENT '学生班级',
`stu_score` int(11) DEFAULT NULL COMMENT '学生分数',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '记录创建时间',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE
CURRENT_TIMESTAMP
COMMENT '记录更新时间',
PRIMARY KEY (`id`),
KEY `idx_stu_id` (`stu_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
insert into student_info(stu_id,stu_name,stu_class,stu_score) values(1,'zhang','1班',80),(2,'wang','1班',90),(3,'zhao','2班',80),(4,'liu','2班',86),(5,'duan','2班',88);
复制
2 查询全表数据
select * from student_info;
复制
3 显示总人数
select count(*) from student_info;
复制
count(*) 表示记录总数。
4 显示每个班级的人数
select stu_class,count(*) from student_info group by stu_class;
复制
group by 表示分组 该语句表示对 stu_class 字段分组,然后显示 stu_class 和每一组 stu_class 的数据量。
5 按班级分开显示学生名字
select stu_class,group_concat(stu_name) from student_info group by stu_class;
复制
6 显示每个班的最高分
select stu_class,max(stu_score) as maxscore from student_info group by stu_class;
复制
max 表示求最大值。 SQL 表示按 stu_class 分组后,显示 stu_class 和每一组的 stu_score 最大值。
7 显示每个班的平均分数
select stu_class,avg(stu_score) as avgscore from student_info group by stu_class;
复制
avg 表示求平均数。 SQL 表示对 stu_class 分组后,显示 stu_class 和对应的 stu_score 平均值。
8 显示每个班的总分
select stu_class,sum(stu_score) as avgscore from student_info group by stu_class;
复制
sum 表示求和 SQL 表示对 stu_class 分组后,显示 stu_class 和对应的 stu_score 总和。
9 显示平均分大于或等于 85 的班级
select stu_class,avg(stu_score) as avgscore from student_info group by stu_class having avgscore>=85;
复制
having 作用是筛选分组之后的数据,where 表示筛选分组之前的数据。 SQL 表示对 stu_class 分组后,显示出所有 stu_class 组中 stu_score 平均数大于或等于 85 的 stu_class 值和 stu_score 平均数。


文章转载自悦专栏,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
确实挺基础的

1年前

评论
相关阅读
【专家有话说第五期】在不同年龄段,DBA应该怎样规划自己的职业发展?
墨天轮编辑部
1391次阅读
2025-03-13 11:40:53
MySQL8.0统计信息总结
闫建(Rock Yan)
526次阅读
2025-03-17 16:04:03
2月“墨力原创作者计划”获奖名单公布
墨天轮编辑部
485次阅读
2025-03-13 14:38:19
SQL优化 - explain查看SQL执行计划(一)
金同学
415次阅读
2025-03-13 16:04:22
MySQL突然崩溃?教你用gdb解剖core文件,快速锁定“元凶”!
szrsu
392次阅读
2025-03-13 00:29:43
MySQL生产实战优化(利用Index skip scan优化性能提升257倍)
chengang
346次阅读
2025-03-17 10:36:40
MySQL数据库当前和历史事务分析
听见风的声音
333次阅读
2025-04-01 08:47:17
MySQL 生产实践-Update 二级索引导致的性能问题排查
chengang
297次阅读
2025-03-28 16:28:31
墨天轮个人数说知识点合集
JiekeXu
282次阅读
2025-04-01 15:56:03
一键装库脚本3分钟极速部署,传统耗时砍掉95%!
IT邦德
275次阅读
2025-03-10 07:58:44