总结SQL中的group by 和 having 用法相关总结

这篇文章主要介绍了sql中的group by 和 having 用法浅析,需要的的朋友参考下吧

一、sql中的group by 用法解析:

  Group By语句从英文的字面意义上理解就是“根据(by)一定的规则进行分组(Group)”。

  作用:通过一定的规则将一个数据集划分成若干个小的区域,然后针对若干个小区域进行数据处理。

  注意:group by 是先排序后分组!

  举例说明:如果要用到group by 一般用到的就是“每”这个字, 例如现在有一个这样的需求:查询每个部门有多少人。就要用到分组的技术 

select DepartmentID as '部门名称',COUNT(*) as '个数'  from BasicDepartment  group by DepartmentID

登录后复制

  这个就是使用了group by +字段进行了分组,其中我们就可以理解为我们按照部门的名称ID
  DepartmentID将数据集进行了分组;然后再进行各个组的统计数据分别有多少;

二、group by 和having 解释

  前提:必须了解sql语言中一种特殊的函数——聚合函数。

  例如:SUM, COUNT, MAX, AVG等。这些函数和其它函数的根本区别就是它们一般作用在多条记录上。

  WHERE关键字在使用集合函数时不能使用,所以在集合函数中加上了HAVING来起到测试查询结果是否符合条件的作用。

  having称为分组过滤条件,也就是分组需要的条件,所以必须与group by联用。

  需要注意说明:当同时含有where子句、group by 子句 、having子句及聚集函数时,执行顺序如下:

  1、执行where子句查找符合条件的数据;

  2、使用group by 子句对数据进行分组;

  3、对group by 子句形成的组运行聚集函数计算每一组的值;

  4、最后用having 子句去掉不符合条件的组。

  having 子句中的每一个元素也必须出现在select列表中。有些数据库例外,如oracle.

  having子句和where子句都可以用来设定限制条件以使查询结果满足一定的条件限制。

  having子句限制的是组,而不是行。聚合函数计算的结果可以当条件来使用,where子句中不能使用聚集函数,而having子句中可以。

以上就是总结SQL中的group by 和 having 用法相关总结的详细内容,更多请关注【创想鸟】其它相关文章!

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

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/1611587.html

(0)
上一篇 2025年2月18日 23:55:48
下一篇 2025年2月18日 23:55:59

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • 去死皮膏怎么用效果好

    去死皮膏是比较常见的一种清洁护理产品,它使用起来比较方便,可以有效清洁肌肤表面的死皮,让肌肤变得更加光滑细腻。去死皮膏的使用也有一定技巧,一般先用洗面奶洗脸,然后在用去死皮膏清洁,然后用清水清洁肌肤。 去死皮膏怎么用效果好 步骤: 1、首先…

    2025年4月20日
    616.6K00
  • php中count函数的用法

    php中count函数的用法:【count(array, mode)】,其中参数array规定要计数的数组,mode规定函数的模式。count函数用于返回数组中元素的数目。 本文操作环境:windows10系统、php 7.3、thinkp…

    2025年3月5日
    300
  • php中的constant的用法是什么

    php中的constant的用法是【constant(constant)】,括号中的constant是规定要检查的常量的名称。如果这个常量未定义,那么该函数就会返回NULL。 本文操作环境:windows10系统、php 7.3、think…

    2025年3月5日
    300
  • Task用法之任务等待wait实例

    1.wait 用法 默认情况下,Task 是有线程池中的异步线程执行,是否执行完成,可以通过Task的的属性IsCompleted 来判断,  如果想在子线程工作完成之后,在进行后续主线程工作可以通过调用task.Wait() 来等待线程完…

    2025年3月5日
    300
  • c语言中pow函数的用法是什么?

    在c语言中pow()函数是用来求x的y次幂。x、y及函数值都是double型 ,其语法为“double pow(double x, double y)”;其中参数“double x”表示底数;参数“double y”表示指数。 pow()函…

    2025年3月5日
    300
  • python中反射用法实例

    本文实例讲述了python中反射用法。分享给大家供大家参考。具体如下: import sys, types,newdef _get_mod(modulePath): try: aMod = sys.modules[modulePath] i…

    编程技术 2025年3月4日
    300
  • Task用法之启动方法实例

    第一、基本使用 Thread,ThreadPool,Task的区别Task是.NET4.0加入的,跟线程池ThreadPool的功能类似,用Task开启新任务时,会从线程池中调用线程,而Thread每次实例化都会创建一个新的线程。 如果是长…

    编程技术 2025年3月3日
    400
  • 介绍MVC、MVP和MVVM的区别与用法

    mvc,mvp 和 mvvm分别是什么?mvc(model-view-controller)是最常见的软件架构之一,业界有着广泛应用。它本身很容易理解,但是要讲清楚,它与衍生的 mvp 和 mvvm 架构的区别就不容易了。 一、MVC MV…

    2025年3月3日 编程技术
    300
  • C语言sqrt函数的用法

    c语言sqrt函数的用法 sqrt函数用于计算一个非负实数的平方根。 sqrt的函数原型: 在VC6.0中的math.h头文件的函数原型为double sqrt(double); 说明:sqrt即Square Root Calculatio…

    2025年3月3日
    400
  • C#中DataSet的用法

    c#中dataset的用法 DataSet类是ADO.NET中最核心的成员之一,也是各种开发基于.Net平台程序语言开发数据库应用程序最常接触的类。每一个DataSet都有很多个DataTables和Relationships。Relati…

    2025年3月3日
    300

发表回复

登录后才能评论