聚合分组查询

聚合查询

进行纵向查询,它是对某一列的值进行计算,然后返回一个单一的值(另外聚合函数会忽略 null

SELECT 聚合函数(字段名) FROM 表名;
SELECT COUNT(*) FROM table;
SELECT
  SUM(salary) AS '总薪水',
  MAX(salary) AS '最高薪水',
  MIN(salary) AS '最低薪水',
  AVG(salary) AS '平均薪水' FROM table;

分组查询

对数据进行分组之后在各个组内进行聚合统计分析

SELECT 分组字段/聚合函数 FROM 表名 GROUP BY 分组字段 [HAVING 条件];
SELECT dept_name AS '部门名称', AVG(salary) FROM table t WHERE t.dept_name IS NOT NULL GROUP BY t.dept_name;

havingwhere 的区别

过滤方式 特点
where where 进行分组前的过滤 where 后面不能写聚合函数
having having 是分组后的过滤 having 后面可以写聚合函数

limit 关键字

limit 用于限制返回的查询结果的行数,用来完成分页

SELECT 字段1, 字段2... FROM 表名 LIMIT offset, length;

offset 起始行数,从 0 开始记数,如省略,则默认为 0
length 返回的行数

分页操作
每页显示3条数据

SELECT * FROM table LIMIT 0,3; -- 第1页 
SELECT * FROM table LIMIT 3,3; -- 第2页 2-1=1 
SELECT * FROM table LIMIT 6,3; -- 第3页

起始索引 = (当前页n - 1) * 每页条数

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容