`
avaj
  • 浏览: 237603 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

[转帖]深入浅出SQL教程之Group by和Having

SQL 
阅读更多
在介绍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://dev.yesky.com/230/2669730.shtml
分享到:
评论

相关推荐

    论坛转帖工具.rar

    标题中的“论坛转帖工具.rar”表明这是一个用于在论坛之间转移帖子的软件工具,通常用于帮助用户方便地将一个论坛的帖子内容复制到另一个论坛,可能是为了分享信息、讨论或保存重要的帖子。这类工具可能包括自动抓取...

    转帖】CE最新过NP教程.docx

    【CE最新过NP教程】 本教程主要针对网络游戏的反作弊机制,特别是针对那些检测Cheat Engine(CE)的登录器,如纸鹤登录器。CE是一款强大的内存编辑工具,允许玩家在游戏中修改内存数据以获得优势,但同时也可能被...

    贴吧转帖工具

    通过这款工具,用户可以实现一键转帖和一键8经验签到的功能,极大地简化了传统操作流程,节省了用户的时间,提升了用户体验。 一键转帖功能是该工具的核心亮点。它允许用户快速地将一篇帖子从一个贴吧复制并发布到...

    UBB论坛转帖圣手.exe

    UBB论坛转帖圣手.exeUBB论坛转帖圣手.exe

    转帖--oracle分析函数+PLSQL小结

    PL/SQL(Procedural Language/Structured Query Language)是Oracle数据库内置的面向过程的编程语言,它结合了SQL语句和过程式编程语言的特点,用于编写存储过程、函数、触发器和游标等数据库对象,以实现更复杂的...

    编辑人员转帖去水印工具

    总之,编辑人员转帖去水印工具如Teorex Inpaint,为图像编辑提供了便利,通过其独特的算法和技术,我们可以高效地去除图片中的水印,提高内容的质量。但在使用过程中,务必遵守版权法和相关法律法规,以维护良好的...

    IDA实战教程

    IDA教程-隐藏IDA调试器.pdf和IDA教程-脚本化调试器.pdf则深入探讨了IDA的调试功能和自动化脚本编写。隐藏调试器的技巧有助于在隐秘环境下进行分析,而脚本化调试器则展示了如何通过Python或IDAPython扩展IDA的功能,...

    discuz X2转帖工具、采集工具

    X2转帖工具、采集工具”是针对这个平台设计的辅助软件,主要用于帮助论坛管理员或用户批量发布帖子和采集内容,提高论坛内容更新的效率。 一、批量发帖功能 1. 自动化发布:此工具可以自动化地创建和发布帖子,...

    轻松转帖之突破网页复制限制宣贯.pdf

    除了火狐,其他浏览器如搜狗、遨游和世界之窗也有类似插件或方法来解除复制限制。例如,可以寻找专为此目的设计的通用插件来安装。 【图片转文字工具】 对于不能直接复制的富媒体内容,如图片中的文字,可以使用OCR...

    [转帖]世界编程大赛第一名写的程序

    标题和描述中的“世界编程大赛第一名写的程序”这一知识点,实际上指向了计算机科学与编程竞赛领域的一个重要概念:即在高水平的编程比赛中,优胜者所编写的代码往往蕴含着高级算法、数据结构以及编程技巧。...

    [教程]【七大经典软件】【【图解】远离91助手和iTunes之完全解决方案】

    6. **尊重原作者**:作者强调了对于教程的转帖要求注明来源和作者,这表明了对知识产权的尊重,也鼓励了社区内的知识分享和交流。 通过这篇教程,用户不仅可以了解到如何不依赖91助手和iTunes来管理他们的iPhone,...

    一键转帖功能插件 for 帝国CMS 6.0 GBK utf8 V1.0.rar

    本文将深入探讨“一键转帖功能插件”在帝国CMS 6.0系统中的应用与实现,该插件适用于GBK及UTF-8编码环境,旨在提升网站内容的分享与传播效率。我们将从安装步骤、工作原理、可能遇到的问题以及解决方案等方面进行...

    转帖工具插件 for PHPwind 7.5 正式版.rar

    4. **日志记录**:为了便于管理和跟踪,插件可能还会记录转帖操作,生成日志供管理员查看,以便了解转帖历史和排查问题。 5. **兼容性**:作为正式版插件,它应该经过了严格的测试,与 PHPwind 7.5 版本保持良好的...

    Html2UBBMaxcj_Softii论坛专用转帖工具

    HTML2UBBMaxcj 是一款专为Softii论坛设计的转帖工具,它主要用于将HTML格式的帖子内容转换成UBB代码,以便在论坛中更好地显示和分享。UBB(Universal BBCode)是一种轻量级的标记语言,常用于网络论坛,与HTML类似,...

    转帖工具ConvertX fordiscuz7.1/7.2 修改增强版.rar

    4.cookie记录替换和新增关键词(避免每次打开转帖工具都要输入繁琐的替换关键词) 5.新增按颜色屏蔽干扰码 6.新增减少缩进以及优化了首行缩进 7.优化一些小细节 8.重新布局优化显示及方便操作 9.不断更新中...

    转帖PLCDCSFCS三大控制系统的特点和差异.doc

    转帖PLCDCSFCS三大控制系统的特点和差异 PLC、DCS、FCS 三大控制系统是自动化技术中的热点,各有其特点和差异。下面对这三大控制系统的特点和差异进行分析。 1.PLC(Programmable Logic Controller) PLC 是一种...

    转帖h3c一些命令配置

    本文将深入解析标题和描述中提及的H3C设备配置命令,以及它们在网络管理中的作用。 首先,配置终端操作密码是网络设备安全的基本措施。在H3C设备上,可以通过以下命令设置用户接口aux 0的密码: ``` [Sysname]user...

    一键转帖功能插件 for 帝国CMS v1.0.rar

    总结一下,"一键转帖功能插件 for 帝国CMS v1.0" 提供了一种便捷的方式来增强帝国CMS站点的社交分享功能,通过简单的安装和配置,用户可以轻松地在多个平台上转发内容,有助于增加网站的曝光度和用户的参与度。...

    使用InstallShield制作ASP安装程序(6) asp教程

    【转帖】用InstallShield进行ASP软件的打包和自动安装 - 项目脚本 - 中国软件打包技术论坛 installshield 1220082009中文教程wise打包install安装程序制作installshield - Powered by Discuz!.htm InstallShield 12 ...

    用PHP批量生成图片缩略图——活跃论坛转帖

    本教程将深入探讨如何使用PHP实现这一功能。 首先,我们需要了解几个基本概念: 1. 图片处理库:在PHP中,GD库和Imagick是常用的两个图像处理库。GD库是PHP的内置库,适用于基本的图像处理任务,如缩放、裁剪和颜色...

Global site tag (gtag.js) - Google Analytics