聚合函数
聚合函数查询的是一列的数据计算后的值,返回一个结果。
聚合函数会忽略空值。(null值)
- count函数:统计指定列的记录条数
select count(列名)from 表名 - sum函数:计算指定列的数值和,如果不是数值类型计算结果为0
select sum(列名)from 表名 - avg函数:计算指定列的平均值,如果不是数值类型计算结果为0
select avg(列名)from 表名 - max函数:计算指定列最大值
select max(列名)from 表名 - min函数:计算指定列最小值
select min(列名)from 表名
分组
- 用 group by语句对查询的内容进行分组,相同的数据是一组
select 字段1,字段2… from 表名 group by 分段字段 having 条件
- 分组查询:将分组字段结果中相同内容为一组
分组的目的是为了统计,一般会跟聚合函数一起使用。聚合函数是在分组后运行!!统计每组的数据。
- 分组时的条件过滤
一个SQL语句中不应该出现两个where子句!
用having字句:select 字段1, 字段2 from 表名 where 条件 group by 分组字段 having 条件
- where和having的比较
- having 是分组后对数据过滤,where是分组前对数据过滤
- having可以使用聚合函数,where后面不可以有聚合函数
limit
- select 字段名 from 表名 where子句 group by 子句having 条件 order by 条件 limit字句
- limit语法格式:limit offset,length;或者limit length;
- offset是指偏移量,可以认为是跳过的记录数量,默认为0,表示从哪开始。length是指需要显示的总记录数,表示显示几条
- limit在做网页分页的时候使用,限制条数
select语句执行顺序
- from表名
- where条件
- group by 字段
- having 条件
- select 字段
- order by 字段
- limit