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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • window.navigator.userAgent用来区分设备和浏览器

    window.navigator.userAgent用来区分设备和浏览器javascript的navigator对象navigator为Window对象的一个属性,指向了一个包含浏览器相关信息的对象。navigatot中包含了一些常用到的属性,如navigator.appVersion浏览器的版本号navigator.appName浏览器的名称navigator.language浏览器使用的语言navigator.platform…

    2025年10月25日
    2
  • MyEclipse8.6注册码代码「建议收藏」

    MyEclipse8.6注册码代码「建议收藏」将MyEclipseGenjava类添加到MyEclipse项目中,右健运行(runasjavaapplication)在控制台输入要注册的name按回车,

    2022年9月29日
    2
  • CompletableFuture 使用介绍[通俗易懂]

    CompletableFuture 使用介绍[通俗易懂]本文安利一个Java8的工具CompletableFuture,这是Java8带来的一个非常好用的用于异步编程的类。还没使用过的小伙伴,赶紧用起来吧。本文不介绍它的实现源码,仅介绍它的接口使用,本文也不做它和RxJava等其他异步编程框架的对比。一、实例化首先,不管我们要做什么,我们第一步是需要构造出CompletableFuture实例。最简单的,我们…

    2022年6月28日
    29
  • 161套javaWeb项目源码免费分享[通俗易懂]

    161套javaWeb项目源码免费分享[通俗易懂]最近很多学生在找关于java开发的学生管理系统,学生选课系统,车辆管理系统,商城系统,项目申报系统,教务管理系统,班级管理系统,博客系统。。。。。。。。我找了一些前几年的项目,感觉还行,虽然项目但技术都是一样的,可以用来做课程设计和毕业设计项目参考,但不要完全照搬哦就不再展示了,需要的可以收藏本篇文章,最好可以四连,关注点赞收藏订阅,下载不迷路链接:https://pan.baidu.com/s/1JX3u5v1alDcMpbG8s134AA提取码:wimo…

    2022年7月9日
    85
  • Typora设置图片存储路径「建议收藏」

    Typora设置图片存储路径「建议收藏」Typora设置图片存储路径Typora设置图片存储路径Typora设置图片存储路径最近经常在用Typora编写文档,每次剪切的图都是默认保存在C盘中Typora默认的保存图片的文件夹中,每次找起来不是很方便,所有最近想设置下剪切图片保存的位置。因为这东西不常用,想想还是记录下来点击文件,选择偏好设置原来是无特殊操作,个人还是倾向于选择图中选项选择此选项后会,在md文档所在文件夹中…

    2022年7月12日
    19
  • 连接共享打印机显示0x000bcb_0x00004005打印机连接

    连接共享打印机显示0x000bcb_0x00004005打印机连接以win7为例,在局域网中,安装共享打印机时,会出现安装失败,打开详细信息显示为0x000000bcb,重新安装也不行,具体操作如下:连接共享打印机出现0x000000bcb问题的解决方法1打开控制面板,点击卸载程序,如下:2点击”查看已安装的更新“如下:3点击右上角“搜索已安装更新”,输入:”KB4022722“,点击搜索,会在下面的找到”KB4022722“的更新,点击卸载就…

    2022年10月7日
    3

发表回复

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

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