3.18 聚合函数相关操作
这篇文章的内容如下:
– 在数据表的最后添加新的一列数据
– 向最后一列添加内容
– 搜索几到几之间的内容
– order (asc是升序,desc是降序,默认状态是升序)
– 同时设置2个条件来整理表,比如说,分年级然后再拍成绩
– 函数
1 先创建并填写一个数据表
use testt;
create table mysql_score2
(
`ID` int unique key auto_increment comment '序号',
`grade` int not null comment'学生年级',
`major` char(10) not null comment'专业名称',
`name` varchar(255) not null comment'学生姓名',
`score` int not null comment'考试成绩'
);
insert into mysql_score2 values
(default,1,'大数据','哈哥',99),
(default,3,'物联网','小黄',30),
(default,4,'汽车人','弩哥',60),
(default,6,'医学院','哈哈',90),
(default,1,'大数据','哈哥',99),
(default,3,'物联网','小狗',30),
(default,4,'汽车人','开心',60),
(default,6,'医学院','快乐',90),
(default,4,'汽车人','小张',60);
select * from mysql_score2;
-- 在数据表的最后添加新的一列数据
alter table mysql_score2 -- 语法:alter table 表名
add age int; -- add 表头 数据类型;
select * from mysql_score2;
-- 向最后一列添加内容
update mysql_score2 set age=18 where id='1';
-- in / not in (相当于从句子的右边向左去读语法,更容易明白)
select * from mysql_score2 where score in('60','99');
select * from mysql_score2 where score='90' or score='60';
select * from mysql_score2 where score not in('60','90');
-- 搜索几到几之间的内容
select * from mysql_score2 where id between 2 and 6;
-- is null / is not null (搜索空值或非空值数据)
select * from mysql_score2 where age is null ;
select * from mysql_score2 where age is not null;
-- limit (限制搜索行数)
select * from mysql_score2 limit 5; -- 搜索前5行内容
select * from mysql_score2 limit 2,5; -- 搜索从第2+1行开始向后搜索5行内容
-- order (asc是升序,desc是降序,默认状态是升序)
select * from mysql_score2 order by score;
select * from mysql_score2 order by score asc;
select * from mysql_score2 order by score desc;
-- 同时设置2个条件来整理表,比如说,分年级然后再拍成绩
select * from mysql_score2 order by grade desc , score asc;
-- 函数
-- 1.sum()求和
select sum(score) from mysql_score2; -- 求取score值的总和
select sum(score) from mysql_score2 where grade=1; -- 求取1年级学生值的总和
-- 2.min / max 找最值
select max(score) from mysql_score2 ;
select min(score) from mysql_score2 ;
select min(score) from mysql_score2 where grade=1;
-- 3.avg 求平均数
select avg(score) from mysql_score2 where grade=1;
-- 4. count 统计行数
select count(*) from mysql_score2;
select count(age) from mysql_score2;
select count(score) from mysql_score2 where major='大数据'; -- 查看大数据专业的参加考试的人数