Mysql 基础学习(二)分组查询学习

分组函数

功能用作统计使用,又称为聚合函数或者统计函数或者组函数
分类:
sum 求和 , avg 平均值 , max 最大值, min 最小值 , count 计算个数
sum avg 一般用于处理数值型 会忽略null 值
max min count 可以处理任何类型 会忽略null 值

  1. 简单的使用
SELECT SUM(c1) FROM TABLE
SELECT ROUNT(AVG(c1),2) FROM TABLE  // ROUNT(,2) 保留两位小数
SELECT MAX(c1) FROM TABLE
SELECT MIN(c1) FROM TABLE
SELECT COUNT(c1) FROM TABLE
  1. 搭配 distinct 搭配
SELECT COUNT(DISTINCT c1) FROM TABLE
  1. 分组查询
SELECT 分组函数,列
FROMWHERE 筛选条件
GROUP BY

① 根据每个部门的员工个数

SELECT COUNT(*) , department_id FROM employee GROUP BY department_id

② 根据①的结果进行筛选,查询哪个部门的员工个数 > 2

SELECT COUNT(*), department_id FROM employee GROUP BY department_id HAVING COUNT(*) > 2;

注意: 查询列表必须特殊,要求是分组函数 和 GROUP BY 后出现的字段

特点:分组查询中的筛选条件分为两类

数据源位置关键字
分组前筛选原始表Group By 子句的前面where
分组后筛选分组后的结果集Group By 子句的后面having

1.分组函数做条件肯定时放在 having 子句中
2.能使用分组前就使用分组前筛选
3.GROUP BY 支持单个字段或者多个字段分组,多个字段使用逗号隔开,没有顺序要求。表达式或者函数
4.也可以添加排序,排序放在分组查询的最后
按多个字段分组

SELECT AVG(c1), c2 , c3
FROM TABLE 
GROUP BY c2,c3;

添加排序

SELECT AVG(c1), c2 , c3,salary
FROM TABLE 
GROUP BY c2,c3;
ORDER BY salary DESC
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值