SELECT命令中的GROUPBY和HAVING子句

在介绍GROUP BY 和 HAVING 子句前,我们必需先讲讲sql语言中一种特殊的函数:聚合函数,例如SUM, COUNT, MAX, AVG等。这些函数和其它函数的根本区别就是它们一般作用在多条记录上。

 SELECT SUM(population) FROM bbc
这里的SUM作用在所有返回记录的population字段上,结果就是该查询只返回一个结果,即所有国家的总人口数。  

通过使用GROUP BY 子句,可以让SUM 和 COUNT 这些函数对属于一组的数据起作用。当你指定 GROUP BY region 时, 属于同一个region(地区)的一组数据将只能返回一行值.也就是说,表中所有除region(地区)外的字段,只能通过 SUM, COUNT等聚合函数运算后返回一个值.  

HAVING子句可以让我们筛选成组后的各组数据. WHERE子句在聚合前先筛选记录.也就是说作用在GROUP BY 子句和HAVING子句前.而 HAVING子句在聚合后对组记录进行筛选。  

让我们还是通过具体的实例来理解GROUP BY 和 HAVING 子句,还采用第三节介绍的bbc表。  

SQL实例:
一、显示每个地区的总人口数和总面积.

SELECT region, SUM(population), SUM(area)

  FROM bbc

  GROUP BY region
先以region把返回记录分成多个组,这就是GROUP BY的字面含义。分完组后,然后用聚合函数对每组中的不同字段(一或多条记录)作运算。
二、 显示每个地区的总人口数和总面积.仅显示那些面积超过1000000的地区。 

SELECT region, SUM(population), SUM(area)

  FROM bbc

  GROUP BY region

  HAVING SUM(area) > 1000000
在这里,我们不能用where来筛选超过1000000的地区,因为表中不存在这样一条记录。相反,HAVING子句可以让我们筛选成组后的各组数据.
文章出处:http://www.diybl.com/course/comshiti/mirosoft/mfd/mcdba/2007522/37086.html

转载于:https://www.cnblogs.com/songQQ/archive/2009/05/25/1489225.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/411417.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

发布任务PHP源码,Thinkphp5新威客任务平台源码

最新更新日志 修复注册时提示验证码错误的BUG修复Thinkphp框架漏洞兼容linux去除冗余代码和无用文件功能模块 1.手机任务面,一个手机版的任务需要,支持雇主入住发布任务,用户是雇主也是做任务可以自己发任务,做任务。2.雇主发布任…

[html] 什么是本地存储的有效期?

[html] 什么是本地存储的有效期? 本地存储的四种方式:cookie,localStorage, sessionStorage, indexDB cookie: 通过 expires / max-age 设置过期时间。如不指定,则为 session cookie, 即一次会话有效。 localStorage: 持久存储&a…

神经网络模型模型转ONNX

近期由于业务需要,需要将训练好的模型转为ONNX格式,为此颇费了一番功夫,在此总结一下吧。。 1、ONNX是一种神经网络模型保存的中间格式,支持多种格式的模型转为ONNX,也支持使用ONNX导入多种格式的模型,具体…

10个值得关注的优秀CSS框架

大多数做过网页设计的都知道“CSS框架”,而且肯定有很多设计师已经开始在作品中使用CSS框架。 就像其他编程语言一样,CSS也可以把一些重复使用的代码整合起来,这样可以减轻很多的工作量。 恰当地利用CSS框架可以缩短开发时间,不过…

linux服务器 版本 比例,Linux比例近半 服务器操作系统混战开始

一项为期半年的虚拟化调查表明,企业普遍存在多种服务器操作系统混用的情况;受IT投资环境的影响,IT经理们现在更加重视服务器资源利用率。据了解,根据不同应用的特点,大多数企业都在数据中心中同时使用了多种操作系统&a…

[html] 如何在页面打开PDF文件?

[html] 如何在页面打开PDF文件? 移动端如果是安卓的不太能实现直接打开PDF文件,需要使用pdfjs将pdf转换成canvas,再在页面上展示个人简介 我是歌谣,欢迎和大家一起交流前后端知识。放弃很容易, 但坚持一定很酷。欢迎…

ora01031权限不足linux,ORA-01031:权限不足

问题描述:ORA-01031:权限不足我用scott用户创建了一个存储过程,创建成功后我调用改存储过程,就提示我权限不足,是怎么回事锕 ,有谁帮解决一下下锕我的存储过程如下:create or replace procedure xu_create isv_a varchar2(20):&输入表名称;v_b varchar2(20):&am…

解决firebug报“illegal character错误的问题

项目中的一个js文件在firefox中总报“illegal character"错误,而且firebug中显示js文件的首字符有乱码。 用notepad2打开js文件查看编码,当前是UTF-8(含bom),更改为UTF-8 后运行正常。转载于:https://www.cnblogs…

[html] 如何阻止屏幕旋转时自动调整字体的大小?

[html] 如何阻止屏幕旋转时自动调整字体的大小? html, body, form, fieldset, p, div, h1, h2, h3, h4, h5, h6 { -webkit-text-size-adjust:100%; }个人简介 我是歌谣,欢迎和大家一起交流前后端知识。放弃很容易, 但坚持一定很酷。欢迎大家…

arp保持时间 linux,Linux实现ARP缓存老化时间原理问题深入解析

一.问题众所周知,ARP是一个链路层的地址解析协议,它以IP地址为键值,查询保有该IP地址主机的MAC地址。协议的详情就不详述了,你可以看RFC,也可以看教科书。这里写这么一篇文章,主要是为了做一点记录&#xf…

[html] html5中的meta标签http-equiv属性有什么作用?

[html] html5中的meta标签http-equiv属性有什么作用&#xff1f; http-equiv是http5新增的属性&#xff0c;用于把 content 属性关联到 HTTP 头部&#xff0c;可模拟响应头。例如&#xff1a;content-type: 声明网页字符编码<meta http-equiv"content-Type" cont…

[html] 在HTML5中,用于获得用户的当前位置是哪个方法?

[html] 在HTML5中&#xff0c;用于获得用户的当前位置是哪个方法&#xff1f; getCurrentPosition&#xff08;&#xff09;个人简介 我是歌谣&#xff0c;欢迎和大家一起交流前后端知识。放弃很容易&#xff0c; 但坚持一定很酷。欢迎大家一起讨论 主目录 与歌谣一起通关前…

checkboxlist与数组结合用的技

今天看到一个checkboxlist与数组结合用的技巧。用户自定义控件.ascx页面有一个SqlDataSource数据源&#xff0c;还有一个Checkboxlist控件。下面来看看.cs里的关键代码了&#xff1a;public string SelectedValue { get { string s "";…

转Akka是什么?

可扩展的实时事务处理 我们相信编写出正确的、具有容错性和可扩展性的并发程序太困难了。这多数是因为使用了错误的工具和错误的抽象级别。Akka就是为了改变这种状况而生的。通过使用Actor模型我们提升了抽象级别&#xff0c;为构建可扩展的、有弹性的响应式并发应用提供了一个…

[html] 说说你对HTML5中“一次编写,全体使用”的理解

[html] 说说你对HTML5中“一次编写&#xff0c;全体使用”的理解 这个有点组件化的意思&#xff1f;个人简介 我是歌谣&#xff0c;欢迎和大家一起交流前后端知识。放弃很容易&#xff0c; 但坚持一定很酷。欢迎大家一起讨论 主目录 与歌谣一起通关前端面试题

linux 添加path环境变量中,在Linux里设置环境变量PATH的方法是什?

我的mips-linux-gcc编译器在“/opt/au1200_rm/build_tools/bin”目录下&#xff0c;build_tools就是我的编译工具&#xff0c;则有如下三种方法来设置环境变量&#xff1a;1、直接用export命令&#xff1a;#export PATH$PATH:/opt/au1200_rm/build_tools/bin查看是否已经设好&a…

C#开发WPF/Silverlight动画及游戏系列教程(Game Tutorial):(十一)地图遮罩层的实现

前面的章节主要针对地图表现层进行讲解。通常来说&#xff0c;简单的游戏光有它就足够了&#xff1b;但是为了达到更加真实的光影效果&#xff0c;模拟真实的虚拟世界&#xff0c;我们还得继续在地图上下大工夫。本节将就如何实现地图中的遮罩层&#xff0c;即物体对角色的遮挡…

gitlab自带的Nginx与原Nginx冲突的解决方案

gitlab 推荐方案2 默认情况下&#xff0c;gitlab使用自带的Nginx&#xff0c;占用80端口&#xff0c;这样就与系统原本安装的Nginx冲突。导致其中一个nginx无法启动 我的gitlab可以正常启动&#xff0c;当再部署一个接口文档的项目时&#xff0c;发现原nginx无法启动&#xff0…

[html] 本地存储和cookie之间的区别是什么?

[html] 本地存储和cookie之间的区别是什么&#xff1f; 1.储存数据的大小不一样 2.cookie会被每次携带在请求中&#xff0c;而storage不会&#xff0c;只会存储在客户端。个人简介 我是歌谣&#xff0c;欢迎和大家一起交流前后端知识。放弃很容易&#xff0c; 但坚持一定很酷…

linux vue node占用内存过大,vue 大型应用内存泄漏改造经验

VUE项目内存泄漏&#xff1a;场景1&#xff1a;页面结构复杂&#xff0c;内嵌子组件数量较多场景2&#xff1a;高频使用(切换路由导致页面组件销毁创建过多)结果&#xff1a;页面卡顿且浏览器窗口占用内存较高检测&#xff1a;相信不少前端开发在界面结构复杂的VUE大项目或者高…