group by详解

group by详解一. 概述group_by的意思是根据by对数据按照哪个字段进行分组,或者是哪几个字段进行分组。二. 语法select 字段  from 表名 where  条件  group by    字段或者select 字段  from 表名 group by  字段  having  过滤条件注意:对于过滤条…

大家好,又见面了,我是你们的朋友全栈君。

一.  概述

group_by的意思是根据by对数据按照哪个字段进行分组,或者是哪几个字段进行分组。

二.  语法

select   字段    from   表名   where    条件     group   by       字段

或者

select   字段    from   表名   group  by    字段    having    过滤条件

注意:对于过滤条件,可以先用where,再用group  by或者是先用group  by,再用having

三.  案例

1  创建表格并插入数据

说明:在plsql  developer上创建表格并插入数据,以便下面进行简单字段分组以及多个字段分组,同时还结合聚合函数进行运算。

创建student表

      create table student
            (id  int not null ,
             name varchar2(30),
             grade varchar2(30),
             salary  varchar2(30)
             )

在student表中插入数据

        insert into student values(1,’zhangsan’,’A’,1500);
        insert into student values(2,’lisi’,’B’,3000);
        insert into student values(1,’zhangsan’,’A’,1500);
        insert into student values(4,’qianwu’,’A’,3500);
        insert into student values(3,’zhaoliu’,’C’,2000);
        insert into student values(1,’huyifei’,’D’,2500);

数据插入到student表中的结果

group by详解

 

2  单个字段分组

①  select   grade   from   student               查出所有学生等级(包括重复的等级)

group by详解

②  select  grade  from  student   group   by   grade       查出学生等级的种类(按照等级划分,去除重复的)

group by详解

3  多个字段分组

select  name , sum(salary)    from   student    group  by   name , grade      按照名字和等级划分,查看相同名字下的工资总和

注意:这里有一点需要说明一下,多个字段进行分组时,需要将name和grade看成一个整体,只要是name和grade相同的可以分成一组;如果只是name相同,grade不同就不是一组。

group by详解

4  配合聚合函数一起使用

常用的聚合函数:count() , sum() , avg() , max() , min()

count():计数

select  name , count(*)  from  student   group  by  name           查看表中相同人名的个数

得出的如下结果

group by详解

sum():求和

select  name , sum(salary)   from   student   group  by   name      查看表中人员的工资和(同姓的工资相加)

得出的如下结果

group by详解

avg():平均数

select  name , avg(salary)   from  student   group  by  name  , grade       查看表中人员的工资平均数(同姓工资平均数)

得出的如下结果

group by详解

max():最大值

select   grade , max(salary)   from   student   group  by   grade           查看按等级划分人员工资最大值

得出的如下结果

group by详解

min():最小值

select   grade , min(salary)   from   student   group  by   grade        查看按等级划分人员工资最小值

得出的如下结果

group by详解

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/141139.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • js中跳转_js跳转页面传递参数

    js中跳转_js跳转页面传递参数JS页面跳转大全所谓的js页面跳转就是利用javesrcipt对打开的页面ULR进行跳转,如我们打开的是A页面,通过javsrcipt脚本就会跳转到B页面。一、常规的JS页面跳转代码1、在原来的窗体中直接跳转用  window.location.href=”你所要跳转的页面”;  2、在新窗体中打开页面用:  window.open(‘你所要跳转的页面’);

    2022年8月13日
    2
  • 图像特征匹配方法——SIFT算法原理及实现

    图像特征匹配方法——SIFT算法原理及实现传统图像处理中图像特征匹配有三个基本步骤:特征提取、特征描述和特征匹配。特征提取就是从图像中提取出关键点(或特征点、角点)等。特征描述就是用一组数学向量对特征点进行描述,其主要保证不同的向量和不同的特征点之间是一种对应的关系,同时相似的关键点之间的差异尽可能小。特征匹配其实就是特征向量之间的距离计算,常用的距离有欧氏距离、汉明距离、余弦距离等。SIFT算法又叫尺度不变特征变换匹配算法,SIF…

    2022年6月22日
    127
  • 芯片的架构_意法半导体

    芯片的架构_意法半导体在了解这些架构之前,我们应该先了解一下复杂指令集(CISC)和精简指令集(RISC)。怎么说这两个的区别呢?CISC的设计思路更加注重性能的发展,是一种高性能高功耗的芯片,在高密度的计算上更具有优势;RISC的设计思路更注重低功耗小尺寸,多用于移动端设备,在重复性任务上占优。举一个简单的例子来说明这个情况,我们在B站上常说的一键三连,CISC会把“点赞”“投币”“收藏”整理成一条指令在缓存中,再由处理器处理;但是对于RISC来说就是三条指令了先“点赞”再“投币”最后“收藏”,这样做的缺点就是很依赖内存带宽了

    2022年9月7日
    0
  • 在线即时展现 Html、JS、CSS 编辑工具 – JSFiddle

    在线即时展现 Html、JS、CSS 编辑工具 – JSFiddle

    2022年2月7日
    47
  • 关于StringUtils的isNotBlank方法

    关于StringUtils的isNotBlank方法当Str为空白或者null时,isNotBlank返回false当Str的length>0时,isNotBlank返回true转载于:https://www.cnblogs.com/xujuntao/p/11027523.html

    2022年8月12日
    4
  • 为什么引入ReLU激活函数

    为什么引入ReLU激活函数https://blog.csdn.net/fredinators/article/details/79443386ReLu是神经网络中的一个激活函数,其优于tanh和sigmoid函数。1.为何引入非线性的激活函数?如果不用激活函数,在这种情况下每一层输出都是上层输入的线性函数。容易验证,无论神经网络有多少层,输出都是输入的线性组合,与没有隐藏层效果相当,这种情况就是最原始的感知机(…

    2022年6月20日
    27

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号