GROUP Function

概念:
所谓组查询即将数据按照某列或者某些列相同的值进行分组,然后对该数组进行组函数运用,针对每一个组返回一个结果。
note:
1.组函数可以出现的位置:select子句和having子句
2.使用group by 将行划分成若干小组
3.having子句用来限制组结果返回。
语法:
select 。。。
from 。。。
where 。。。
group by col_name,col_name
having 。。。
order by 。。。

col_name:即将数据按照colName相同的值进行分组。

组函数常见的五个: distinct取消重复行
avg:求平均值 AVG(DISTINCT | ALL | N)
count:求总数 COUNT(DISTINCT | ALL | expr | *)
max:最大值 MAX(DISTINCT | ALL |expr)
min:最小值 MIN(DISTINCT | ALL | expr)
stddev: 求标准方差 STDDEV(DISTINCT | ALL | n)
sum: 求和 SUM(DISTINCT | ALL | n)
variance: 方差 VARIANCE(DISTINCT | ALL | n)
例:
select AVG(salary),MAX(salary),min(salary),sum (salary)
FROM s_emp
WHERE UPPER(title ) like “SALES%”;
select min(last_name),max(last_name) from s_emp;

avg([distinct] column) / sum ([distinct] column):可以作用在存储数字的列上。
对字符型数据的最大值,是按照首字母有A~Z的顺序排列,越往后,其值越大。当然,对于汉字则是按照其全拼音排列的,若是首字符相同,则比较下一个字符,依次类推。
max(),min():可以作用在任意类型的数据上。
count([distinct] column | *):
count( * ) :统计表中所有行数
count(column):返回所有非空的行数

group by

  1. 用来将表中的行划分成若干更小的组
  2. 出现在select子句中,但是没有出现在组函数中的列必须出现在group by 子句中。
  3. 出现在group by 中的列不一定出现在select 子句中
  4. group by 子句中出现多列时候,表示从左到右进行分组,即先按照第一列分组,然后再第一列分好的组里面在按照第二例进行分组,依次类推。
  5. 限制组结果的返回一定使用having不能使用 where。
  6. group by 子句中的列出现在select中,表意性比较强。
    1.查看各部门,职称相同的人的平均工资
    select dept_id,title, avg(salary) from S_emp group by dept_id,title order by avg(salary);
    2.查看个部门工资总和按照工资降序排序
    select dept_id,sum(salary) s from S_emp group by s desc;
    3.查找部门平均工资>1000的所有部门id和平均工资:
    目标: 部门id 和avg(salary)

条件:部门平均工资
部门平均工资大于1000
select dept_id, avg(salary) from S_emp group by dept_id having avg(salary) >1000;
1查找不以vp开头的所有员工
select last_name, first_name from S_emp where title not like ‘VP%’;
2并且将他们以职称分组
group by title
3,求各个职工的工资总和
sum(salary)
4将工资总和大于五千的职称和工资显示出来
having sum(salary)>5000;

总和:select title ,sum(salary) from s_emp where title not like ‘vp%’ group by title having sum(salary)>5000;

5.查看公司经理的id,并且显示该经理领导下的领取工资最低的员工的工资,不包含那些最低工资低于1000的员工的工资及其经理id,并按工资进行排序

select manger_id ,min(salary) from s_emp
where manger_id is not null
group by manger_id
having min(salary) >1000;

select customer_id ,count(id),sum(total)
from S_ord
group by customer_id;

连接查询
select customer_id ,name,count(S_ord.id),sum(total)
from S_ord ,S_customer
where S_ord.custom_id = S_customer.id
group by customer_id ,name;

GROUP Function相关推荐

  1. mysql Invalid use of group function的解决办法

    错误语句:SELECT s.SID, s.Sname, AVG(a.score) FROM student s LEFT JOIN sc a ON s.SID = a.SID WHERE AVG(a. ...

  2. “not a single-group group function”

    在使用group by进行分组的时候,select 后面要查询出来的表字段 只用有两种情况: 1.在group by 子句中出现 2.或者写在聚合函数里面,像count(id)等等. 若是没有,sel ...

  3. ORA-00937: not a single-group group function

    分析:如果查询中包含聚合函数,而所选择的列并不在聚合函数中,那么这些列就必须在GROUP BY字句中

  4. Invalid use of group function解决办法

    在做sql习题时多次遇到这个问题,忍不了了百度了解决办法,原来还是自己的基础知识没有掌握扎实,记录下来便于以后学习~ select a.Cname,count(b.S) from Course a l ...

  5. SAP UI5 group function调试

    Created by Wang, Jerry, last modified on Feb 05, 2015 要获取更多Jerry的原创文章,请关注公众号"汪子熙":

  6. ORA-00934: group function is not allowed here

    问题 原因 不能在WHERE字句中使用聚合函数来限制行 分析 因为where字句只能用来对单行而不是行组进行过滤.要过滤行组,就要使用HAVING子句.

  7. pin function和pin group:iomuxc节点解析始末

    总体框图: 设备树iomuxc节点层次 iomuxc function grouc fsl,pins = <xxxxxx>; - group - function - 层次关系说明 iom ...

  8. 浅谈 underscore 内部方法 group 的设计原理

    前言 真是天一热什么事都不想干,这个月只产出了一篇文章,赶紧写一篇压压惊! 前文(https://github.com/hanzichi/underscore-analysis/issues/15)说 ...

  9. Oracle笔记 三、function 、select

    Scott表下有这么几个常用的表,而且还带有数据.分别是emp.dept.salgrade: 1.查看表结构用desc desc emp; 2.空表dual,最常用的空表,如: select 2 * ...

最新文章

  1. linux生日_代码简介:让我们用25个Linux事实来庆祝Linux的25岁生日。
  2. CCS卸载安装过程及所遇问题
  3. VLC-DSS搭建直播系统中链路断开影响测试
  4. tensorflow-TFRecord 用法
  5. AIX Study之--AIX网卡配置管理(ent0、en0、et0)
  6. es 删除数据_es 写入数据的工作原理是什么啊?es 查询数据的工作原理是什么啊?...
  7. Lync 2010的点击呼叫设置
  8. postman 怎么调试pos_SpringBoot|第十五章:基于Postman的RESTful接口测试
  9. 信息学奥赛一本通 1342:【例4-1】最短路径问题
  10. python零基础学习书-零基础学Python,不容错过的入门书籍
  11. 软件项目的面向对象设计、开发及管理
  12. vi显示行数命令和跳转到指定行
  13. 用tomcat6修改java内存_Tomcat 服务器内存修改
  14. 计算思维在计算机科学中的应用,计算思维在离散数学中的应用.pdf
  15. Graph Anomaly Detection with Deep Learning——基于属性图的节点异常检测
  16. 测屏幕坏点 android,手机屏幕坏点检测方法有哪些【详细介绍】
  17. 农夫安全-安全网站导航 farmsec
  18. 高德地图点击不同的标记,动态传入参数创建信息窗体
  19. Android中使用dimen定义尺寸
  20. qq四国军旗2.1 beat03 builde018记牌器开发思路(三)

热门文章

  1. sql怎么实现线性排序_如何在SQL中实现排序间接
  2. Github 配置SSH keys教程
  3. 键盘大小写切换时小写shift和大写caps Lock按键问题
  4. vue设置页面的高度100%
  5. 【Hadoop】谷歌的三篇论文(GFS、MapReduce分布式计算模型 、BigTable大表)
  6. 378、有序矩阵中第K小的元素
  7. 3dmax的计算机配置,3dMax2018系统最低要求电脑配置
  8. 揭示win32 api拦截细节
  9. 浏览器配置异常_IE浏览器常见故障及问题解决方法大全
  10. 这样做数据可视化驾驶舱,高端大气,一目了然,领导不点赞都难