聚合函数含义及其用法
1、avg(input):求平均值,例如:select avg(age) from student——计算学生平均年龄,包括重复的年龄;
2、max(input):求最大值,例如:select max(age) from student——获取学生表中最大年龄;
3、min(input):求最小值,例如:select min(age) from student——获取学生表中最小年龄;
4、sum(input):求和,例如:select sum(age) from student——计算学生表中年龄之和;
5、count(*|input):求行数,如果使用*则不会忽略空值的行。
group by——用于将表中数据划分为若干个组,group by后面用于指定分组的依据
select sex,count(id) from student group by sex;——将student表学生按照sex分组,然后统计每组中的人数。
##注意事项:1.group by函数通常联合分组函数(sum,avg,max,min,count)进行使用,而且分组函数是在group by执行结束后才执行的。
2.在进行分组的时候select后面跟的字段最好是分组函数或者group by后面跟的那个字段。
3group by有一个原则,就是select后面所有的列中,没有使用聚合函数的列,必须出现在group by子句中
4、如果select语句中含有where、order by,那么group by需放在where之后order by之前,即先获取符合where条件的“有效”数据,再依据group by对数据进行分组,最后再排序; 顺序:where、group by、order by。
分页查询:
select * from student limit 3----从第一条开始显示,只显示3条
select * from student limit 3,5----从第3条后开始显示,然后一共显示5条
多表查询:多个表关联查询需要依据多表之间列关系将其连接起来
——select * from a,b where a.id=b.id
(表的连接:concat 中有一个写法是用于连接两个字段(列)的:
concat_ws ----(ws: with separator)
语法为:
concat_ws('分隔符', str1, str2,...)
例如:连接 last_name,first_name,中间用 空格 分开:
select concat_ws(' ', last_name, first_name) as Name
from employees)