group by 用法解析
group by语法可以根据给定数据列的每个成员对查询结果进行分组统计,最终得到一个分组汇总表。
SELECT子句中的列名必须为分组列或列函数。列函数对于GROUP BY子句定义的每个组各返回一个结果。
某个员工信息表结构和数据如下:id  name  dept  salary  edlevel  hiredate 1 张三 开发部 2000 3 2009-10-112 李四 开发部 2500 3 2009-10-013 王五 设计部 2600 5 2010-10-024 王六 设计部 2300 4 2010-10-035 马七 设计部 2100 4 2010-10-066 赵八 销售部 3000 5 2010-10-057 钱九 销售部 3100 7 2010-10-078 孙十 销售部 3500 7 2010-10-06
例如,我想列出每个部门最高薪水的结果,sql语句如下:
SELECT DEPT, MAX(SALARY) AS MAXIMUM
FROM STAFF
GROUP BY DEPT
查询结果如下:DEPT  MAXIMUM 开发部 2500设计部 2600销售部 3500
解释一下这个结果:
1、满足“SELECT子句中的列名必须为分组列或列函数”,因为SELECT有GROUP BY DEPT中包含的列DEPT。
2、“列函数对于GROUP BY子句定义的每个组各返回一个结果”,根据部门分组,对每个部门返回一个结果,就是每个部门的最高薪水。
注意:计算的是每个部门(由 GROUP BY 子句定义的组)而不是整个公司的 MAX(SALARY)。
例如,查询每个部门的总的薪水数
SELECT DEPT, sum( SALARY ) AS total
FROM STAFF
GROUP BY DEPT
查询结果如下:
DEPT  total
开发部 4500
设计部 7000
销售部 9600
将 WHERE 子句与 GROUP BY 子句一起使用
分组查询可以在形成组和计算列函数之前具有消除非限定行的标准 WHERE 子句。必须在GROUP BY 子句之前指定 WHERE 子句。
例如,查询公司2010年入职的各个部门每个级别里的最高薪水
SELECT DEPT, EDLEVEL, MAX( SALARY ) AS MAXIMUM
FROM staff
WHERE HIREDATE > '2010-01-01'
GROUP BY DEPT, EDLEVEL
ORDER BY DEPT, EDLEVEL
查询结果如下:DEPT  EDLEVEL  MAXIMUM 设计部 4 2300设计部 5 2600销售部 5 3000销售部 7 3500
注意:在SELECT语句中指定的每个列名也在GROUP BY子句中提到。未在这两个地方提到的列名将产生错误。
GROUP BY子句对DEPT和EDLEVEL的每个唯一组合各返回一行。
在GROUP BY子句之后使用HAVING子句
可应用限定条件进行分组,以便系统仅对满足条件的组返回结果。为此,在GROUP BY子句后面包含一个HAVING子句。HAVING子句可包含一个或多个用AND和OR连接的谓词。每个谓词将组特性(如AVG(SALARY))与下列之一进行比较:
例如:寻找雇员数超过2个的部门的最高和最低薪水:
SELECT DEPT, MAX( SALARY ) AS MAXIMUM, MIN( SALARY ) AS MINIMUM
FROM staff
GROUP BY DEPT
HAVING COUNT( * ) >2
ORDER BY DEPT
查询结果如下:DEPT  MAXIMUM  MINIMUM 设计部 2600 2100销售部 3500 3000
例如:寻找雇员平均工资大于3000的部门的最高和最低薪水:
SELECT DEPT, MAX( SALARY ) AS MAXIMUM, MIN( SALARY ) AS MINIMUM
FROM staff
GROUP BY DEPT
HAVING AVG( SALARY ) >3000
ORDER BY DEPT
查询结果如下:DEPT  MAXIMUM  MINIMUM 销售部 3500 3000

mysql group by 用法解析(详细)相关推荐

  1. 转:mysql group by 用法解析(详细)

    group by 用法解析 group by语法可以根据给定数据列的每个成员对查询结果进行分组统计,最终得到一个分组汇总表. SELECT子句中的列名必须为分组列或列函数.列函数对于GROUP BY子 ...

  2. mysql中group by用法解析

    MysqL group by 用法解析 2013年03月08日 08:43:30 JavaDynamic 阅读数:25184 一.group by语法可以根据给定数据列的每个成员对查询结果进行分组统计 ...

  3. group by 用法解析

    group by 用法解析 group by语法可以根据给定数据列的每个成员对查询结果进行分组统计,最终得到一个分组汇总表. SELECT子句中的列名必须为分组列或列函数.列函数对于GROUP BY子 ...

  4. mysql have_mysql having用法解析

    having的用法 having字句可以让我们筛选成组后的各种数据,where字句在聚合前先筛选记录,也就是说作用在group by和having字句前.而 having子句在聚合后对组记录进行筛选. ...

  5. MySQL Group Replication [Single-Primary Mode] 详细搭建部署过程

    1,关于MySQL Group Replication 基于组的复制(Group-basedReplication)是一种被使用在容错系统中的技术.Replication-group(复制组)是由能够 ...

  6. MySQL Group Replication [Multi-Primary Mode] 详细搭建部署过程

    1,关于MySQL Group Replication 基于组的复制(Group-basedReplication)是一种被使用在容错系统中的技术.Replication-group(复制组)是由能够 ...

  7. MySQL for update 用法解析

    目录 基本原理与用法 一定需要注意的点 其他补充 间隙锁的范围: 锁的介绍: 索引失效的常见场景: 基本原理与用法 MySQL在查询语句后面加上 for update ,例如 select * fro ...

  8. mysql union result,【经验】Mysql的UNION用法解析及TP中写法

    最近也是在写项目中碰到的这个问题,需要将两个SELECT查询结果组合起来进行分组排序,想到了用union方法,用TP的union操作根本无法完成复杂的union操作,于是搜罗了一下,先说一下union ...

  9. group by 用法解析_GRE数学专项练习及解析概率

    GRE数学专项练习的题目主要来自<官方指南>(OG).<官方数学150>(ETS150).鸡精和个别来源未知的题目(同样适合练习),接下来我会持续更新各种专项练习和题目解析.概 ...

  10. sql中group by 和having 用法解析

    --sql中的group by 用法解析: -- Group By语句从英文的字面意义上理解就是"根据(by)一定的规则进行分组(Group)". --它的作用是通过一定的规则将一 ...

最新文章

  1. Java基础点:多线程
  2. 归属地的判断规则有吗_IPO|创业板注册制规则-详解股权激励新规
  3. 联想微型计算机报价,联想电脑一体机报价
  4. Oracle在开源Mission Control后将其开发团队解散
  5. java学习(153):字符输出流
  6. #Tomcat# 本地正常但是部署到服务器后,mysql插入中文乱码问题解决!
  7. 二项分布的采样或抽样(java实现)
  8. 数值分析(6)-函数逼近的基本概念
  9. NT平台ADSL拨号连接密码恢复原理
  10. 作用JavaScript访问和操作数据库
  11. C# 大地测量高斯投影正反算公式计算程序
  12. java实训心得感想30字,java实训心得体会感想
  13. 拉卡拉支付开启生态化移动支付新趋势
  14. python爬app_app爬虫(python app爬虫)
  15. 协同演化博弈模型matlab,求教 matlab做演化博弈
  16. python牛顿法求方程的根_python计算方程式根的方法 如何用python计算三元方程
  17. 7 月 24 号腾讯副总张小龙内部讲座《通过微信谈产品》
  18. 海阔凭鱼跃,天高任鸟飞
  19. Django开发个人博客网站——12、实现不同大小的标签云样式
  20. 解决 输入kubectl get pods -o wide后没有显示ip

热门文章

  1. lisp函数大全 微盘_LISP函数大全
  2. 市民卡怎么登录显示服务器繁忙,2分钟办理一笔业务 杭州网记者体验最具人气的“市民卡”窗口服务...
  3. channel串行化_为什么串行接口比并行接口快
  4. html中多个div分开排列,CSS+DIV设计实例:多个DIV排列时居中
  5. 基于xml的c语言项目,Spring基于XML装配Bean
  6. apache ii评分怎么评_APACHEⅡ评分系统
  7. DRF的解析器和渲染器
  8. Shiro笔记(四)编码/加密
  9. 2741. [济南集训 2017] 掰巧克力
  10. Sql Server 中常用的字符串函数