案列2

use day16;
-- 创建student
create table student(
id int,
name varchar(20),
chinese float,
english float,
math float
);
insert into student(id,name,chinese,english,math)values(1,'张小明',89,78,90);
insert into student(id,name,chinese,english,math) values(2,'李进',67,53,95);
insert into student(id,name,chinese,english,math) values(3,'王五',87,78,77);
insert into student(id,name,chinese,english,math) values(4,'李一',88,98,92);
insert into student(id,name,chinese,english,math) values(5,'李来财',82,84,67);
insert into student(id,name,chinese,english,math) values(6,'张进宝',55,85,45);
insert into student(id,name,chinese,english,math) values(7,'黄蓉',75,65,30);
select*from student;
-- 对数学成绩排序后输出
select*from student order by math desc;-- 降序
select*from student order by math asc;-- 升序
 -- 对总分排序后输出,然后再按从高到低的顺序输出
select*(chinese+english+math) 总分 from student order by 总分 desc;  -- 自己的错误代码 忘记加逗号

select *,(chinese+english+math) 总分 from student order by 总分 desc;
 -- 对姓李的学生成绩排序输出
select*,(chinese+english+math) 总分 from student where name like '李%' order by 总分 asc;

 -- 统计一个班级共有多少学生?
select COUNT(*)from student; 
 
 -- 统计数学成绩大于90的学生有多少个?
select COUNT(*)from student  where math>90;
 -- 统计总分大于250的人数有多少?
select COUNT(*)from student where chinese+english+math >250;
 -- 统计一个班级数学总成绩?
select SUM(math) from student;
 -- 统计一个班级语文、英语、数学各科的总成绩
select SUM(chinese) as 语文, SUM(math) as 数学, SUM(english) as 英语 from student;
 -- 统计一个班级语文、英语、数学的成绩总和
select SUM(chinese)+SUM(math)+SUM(english) 成绩总分 from student;      -- 聚合函数后面跟列名中间不能有空格 切记 本人初学经常遇到的问题点
 -- 统计一个班级语文成绩平均分
select AVG(chinese) 平均分 from student;
 -- 求一个班级数学平均分?
select AVG(math) 平均分 from student;
 -- 求一个班级总分平均分
select AVG(chinese+math+english) 总平均分 from student;
 -- 求班级最高分和最低分
select MAX(chinese+english+math), MIN(chinese+english+math) from student;

 

posted @ 2018-08-10 21:46  Jskea  阅读(90)  评论(0)    收藏  举报