mysql查询进阶
把查询出来的值插入到原表中
使用insert into 表2 select * from 表1;(表1是复制体,表2是粘粘体)
前提条件是表1 和表2的列和类型必须是一样的
聚合查询
count(*),计算有多少行
针对行和行进行运算,使用select count(*)from 表名;(也可以写列名,写列名的话当我们的列里面是值为null时是不计算在内的,指定列时相同的会进行去重),且括号必须挨着count,运算是先查询在相加
sum()计算当前列里的总和
针对数字将诺干行的值相加,字符串相加不了
select sum() from 表名;
avg()求当前列的平均值
求平均值,select avg()from 表名;
min()求当前列的最小值
最小值
max()求当前列的最大值
最大值
group by
select 列名 ,聚合函数 from 表名 group by 列名;
针对指定列进行分组整合,一般是搭配聚合函数一起使用,不搭配聚合函数使用,就会找到当前列的第一个作为代表
select 列名 ,聚合函数 from 表名 where 条件 group by 列名;
也可以在整合的同时添加条件,执行的顺序是先执行判断条件,在进行整合,最后在进行聚合函数
having(一般写在group by后面)
在进行整合后,使用having把相应的条件排除,执行的顺序是先进行整合,在进行聚合函数,在进行having
也可以把两个条件同时一起实现,条件写在前面,having写在后面