在介绍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
分享到:
相关推荐
《深入浅出SQL 中文版》是一本专为学习SQL语言设计的教程,旨在帮助读者全面理解并掌握SQL(Structured Query Language)的核心概念和技术。SQL是数据库管理与数据查询的标准语言,广泛应用于各类数据存储系统中。...
《深入浅出SQL(中文版)》是一本旨在帮助读者全面理解并熟练掌握SQL语言的专业教程。SQL,全称为Structured Query Language(结构化查询语言),是数据库管理与数据操作的核心工具,广泛应用于各类数据存储系统中。这...
"深入浅出"是其核心理念,旨在通过视觉丰富的插图、幽默的语言和实用的示例,帮助读者在轻松愉快的氛围中掌握SQL的基础知识。 SQL,全称为Structured Query Language,即结构化查询语言,是管理和处理关系数据库的...
《Head First SQL》是一本非常受欢迎的SQL学习书籍,它以独特的方式深入浅出地介绍了SQL(Structured Query Language)的基础知识和高级技巧。这本书旨在帮助读者理解和掌握如何在数据库管理系统中进行数据查询、...
本章的学习目标是让学生掌握如何使用T-SQL语句来操作数据库中的数据,包括但不限于数据库和表的操作,SELECT语句的基本结构,以及如何使用GROUP BY和ORDER BY子句,以及汇总函数的应用。 首先,SQL语言是数据库操作...
《SQL Server实用教程》是学习数据库管理系统的经典教材,尤其对于初学者而言,它提供了深入浅出的讲解和丰富的实践案例。第六版的更新无疑带来了更贴近当前技术环境的内容,作者郑阿奇在课程中结合PPT形式进行教学...
《SQL Server 2000培训教程》是针对数据库管理员和开发者的重要学习资源,它深入浅出地介绍了Microsoft SQL Server 2000的核心概念、功能和操作技巧。本教程旨在帮助初学者快速掌握SQL Server 2000的基础知识,并为...
"SQL.rar_SQL高级_sql教程"这个压缩包集合了一套经典的T-SQL教程,它通过PPT的形式深入浅出地讲解了SQL的高级概念和技术。以下是根据这些PPT文件名(TP1.ppt、TPnew4.ppt、LG1V1.0.ppt、TP2_new.ppt、TP5.ppt、TP4....
本教程深入浅出地讲解了SQL的基础概念、语法以及在实际应用中的技巧。 首先,教程会引导读者理解SQL的基本架构,包括数据库系统的工作原理和SQL在其中的角色。SQL主要分为数据定义(DDL)、数据操作(DML)、数据...
《SQL Server 电子教程》是一份专为初学者和中级学者设计的全面指南,旨在深入浅出地介绍SQL Server数据库管理系统。本教程不仅适合个人学习,也适合作为教师授课的参考资料,帮助教学者生动、直观地传授SQL Server...
本教程深入浅出地介绍了SQL SERVER 2008的各种核心概念和技术,旨在帮助学习者提升在数据库管理和数据分析方面的专业技能。 首先,我们从“SQL Server-第1章 2008初体验(理论).ppt”开始,这个章节将引导初学者...
通过深入浅出的方式,教程详细地介绍了SQL Server 2005的各种功能和应用场景。 首先,SQL Server 2005是微软公司推出的一款企业级关系型数据库管理系统,它在数据存储、处理和分析方面提供了强大的支持。本教程会...
本教程将深入浅出地介绍SQL的基本语法,帮助初学者快速掌握其核心概念和常用命令。 一、SQL概述 SQL,全称结构化查询语言,由IBM的员工在1970年代开发,旨在简化数据库交互。它支持多种数据库管理系统,如MySQL、...
本教程将深入浅出地介绍SQL Server 2005的基础知识,帮助初学者快速掌握数据库管理的基本技能。 1. **SQL Server 2005概述** SQL Server 2005作为企业级数据库解决方案,提供了高可用性、安全性、性能优化等功能。...
《新编SQL Server 2000图解教程》是一本专门为初学者设计的数据库学习资料,它以图文并茂的方式深入浅出地介绍了SQL Server 2000这一经典数据库管理系统的基础知识和核心功能。SQL Server 2000是微软公司推出的...
《SQL经典教程》是一本专为初学者设计的数据库学习指南,主要针对SQL语言进行深入浅出的讲解。SQL,全称Structured Query Language,即结构化查询语言,是用于管理和处理关系数据库的标准语言。本教程以PDF形式提供...
本书《SQL网络数据库_入门教程》出自清华大学出版社,由方睿教授等专家撰写,内容深入浅出,适合大学初学者阅读。通过学习,读者不仅能理解SQL的基础,还能了解其在网络数据库环境中的应用。书中的实例和练习将帮助...
SQL(Structured Query Language)是...本教程将深入浅出地讲解这些SQL编程知识点,无论你是初学者还是有经验的开发者,都能从中受益。通过学习和实践,你将能够熟练地运用SQL来管理和操作数据库,满足各种业务需求。
本教程针对SQL Server 2000进行了深入浅出的讲解,旨在帮助用户掌握其功能、操作和使用方法。以下是关于SQL Server 2000的一些关键知识点: 1. **数据库概念**:SQL Server 2000基于关系数据库模型,通过表格来存储...
本教程将深入浅出地介绍SQL Server 2000的各个方面,帮助你从新手逐步成长为数据库管理的高手。 一、SQL Server 2000安装与配置 安装SQL Server 2000时,你需要按照向导进行操作,包括选择安装类型(个人版、开发版...