1. Group By 语句简介:
Group By语句从英文的字面意义上理解就是“根据(by)一定的规则进行分组(Group)”。它的作用是通过一定的规则将一个数据集划分成若干个小的区域,然后针对若干个小区域进行数据处理。
2. Group By 的使用:
上面已经给出了对Group By语句的理解。基于这个理解和SQL Server 2000的联机帮助,下面对Group By语句的各种典型使用进行依次列举说明。
2.1 Group By [Expressions]:
这个恐怕是Group By语句最常见的用法了,Group By + [分组字段](可以有多个)。在执行了这个操作以后,数据集将根据分组字段的值将一个数据集划分成各个不同的小组。比如有如下数据集,其中水果名称(FruitName)和出产国家(ProductPlace)为联合主键:
FruitName |
ProductPlace |
Price |
Apple |
China |
$1.1 |
Apple |
Japan |
$2.1 |
Apple |
USA |
$2.5 |
Orange |
China |
$0.8 |
Banana |
China |
$3.1 |
Peach |
USA |
$3.0 |
如果我们想知道每个国家有多少种水果,那么我们可以通过如下SQL语句来完成:
SELECT COUNT(*) AS 水果种类, ProductPlace AS 出产国
FROM T_TEST_FRUITINFO
GROUP BY ProductPlace
这个SQL语句就是使用了Group By + 分组字段的方式,那么这句SQL语句就可以解释成“我按照出产国家(ProductPlace)将数据集进行分组,然后分别按照各个组来统计各自的记录数量。”很好理解对吧。这里值得注意的是结果集中有两个返回字段,一个是ProductPlace(出产国), 一个是水果种类。如果我们这里水果种类不是用Count(*),而是类似如下写法的话:
SELECT FruitName, ProductPlace FROM T_TEST_FRUITINFO GROUP BY ProductPlace
那么SQL在执行此语句的时候会报如下的类似错误:
选择列表中的列 'T_TEST_FRUITINFO.FruitName' 无效,因为该列没有包含在聚合函数或 GROUP BY 子句中。
这就是我们需要注意的一点,如果在返回集字段中,这些字段要么就要包含在Group By语句的后面,作为分组的依据;要么就要被包含在聚合函数中。我们可以将Group By操作想象成如下的一个过程,首先系统根据SELECT 语句得到一个结果集,如最开始的那个水果、出产国家、单价的一个详细表。然后根据分组字段,将具有相同分组字段的记录归并成了一条记录。这个时候剩下的那些不存在于Group By语句后面作为分组依据的字段就有可能出现多个值,但是目前一种分组情况只有一条记录,一个数据格是无法放入多个数值的,所以这里就需要通过一定的处理将这些多值的列转化成单值,然后将其放在对应的数据格中,那么完成这个步骤的就是聚合函数。这就是为什么这些函数叫聚合函数(aggregate functions)了。
分享到:
相关推荐
GROUP BY 语句的基本语法如下: ```sql SELECT column_name, aggregate_function(column_name) FROM table_name WHERE column_name operator value GROUP BY column_name; ``` 在这个结构中,`column_name` 是你想...
本资源"01_【基本SQL语句】SQL语法练习(2)"针对的是那些希望加强Oracle SQL基础知识的学习者。它提供了丰富的SQL语句、案例以及函数的实践应用,旨在帮助初学者提升技能。 SQL(Structured Query Language),...
8. 分组数据:GROUP BY子句用于将结果集按一个或多个列进行分组,常与聚合函数(COUNT、SUM、AVG、MAX、MIN)结合使用。 9. 联接查询:JOIN语句用于合并两个或更多表的数据,包括INNER JOIN、LEFT JOIN、RIGHT JOIN...
本节我们将深入探讨“01_【基本SQL语句】SQL语法练习(一)”中的核心概念,包括SQL的基本形式、如何查询数据以及常用的单行函数。 首先,让我们了解SQL的基本形式。SQL语句通常由以下几个部分组成:SELECT、FROM、...
* SQL语句的基本结构:SELECT、FROM、WHERE、GROUP BY、HAVING、ORDER BY * SQL语句的数据类型:int、nvarchar、datetime等 * SQL语句的操作符:=、、AND、OR、NOT等 四、SQL语句的应用 * sorting和分组操作:使用...
### MySQL语法语句知识点详述 #### 一、SQL速成 **结构查询语言(SQL)**是一种标准的语言,用于管理和查询关系型数据库系统。它提供了一系列的关键字和语法规范,使得用户能够有效地创建、修改和查询数据库元件(如...
本资料将重点介绍Oracle SQL语句和语法,适合初学者入门学习。 1. **SQL基础** - **SELECT语句**:用于从数据库中检索数据,是最常用的SQL语句。可以指定列名、表名、条件等,例如`SELECT column1, column2 FROM ...
### SQL语法、SQL语句大全及SQL基础知识 #### 一、SQL简介 SQL(Structured Query Language)是一种用于管理关系数据库的标准编程语言。SQL最初由IBM研发,并在1970年代后期作为SEQUEL(Structured English Query ...
### SQLServer SQL语法大全 #### 创建数据库 在SQL Server中创建数据库是一项基本操作,通过`CREATE DATABASE`命令来实现。创建数据库时可以指定文件和日志文件的位置、初始大小及增长方式等参数。 **语法示例:**...
### SQL语法中文大全、SQL语句学习 #### SQL基础概览与应用 ##### SQL简介 SQL(Structured Query Language,结构化查询语言)是用于管理关系型数据库的标准语言。它不仅被广泛应用于各种数据库管理系统(DBMS)中...
Oracle SQL语法大全是关系数据库标准语言SQL的详细介绍,涵盖了SQL的基础知识、语法结构、数据类型、查询语句、操作符的使用等方面的内容。 SQL基础知识 SQL(Structured Query Language)是一种关系数据库标准...
这份名为“SQL语法大全”的资源提供了从基础到高级的SQL语法知识,旨在帮助用户全面掌握这一强大的数据操作工具。以下是对其中主要知识点的详细阐述: 1. **基础语法**: - **创建数据库**:`CREATE DATABASE`语句...
SQL(Structured Query Language)是一种用于管理和...在实际应用中,还可以结合JOIN、GROUP BY、HAVING等更复杂的语句进行更复杂的查询和操作。理解并灵活运用这些语句,将能有效地管理和操作数据库,满足业务需求。
在“SQL语句手册.chm”中,我们可以期待找到关于SQL的全面介绍,包括其基本概念、语法以及如何执行各种操作。下面我们将深入探讨SQL的关键知识点。 1. **SQL基础**: SQL的基本组成部分包括数据定义语言(DDL)、...
在这个“SQL语句语法经典课件”中,我们将会深入探讨SQL的基本概念、语法结构以及如何进行有效的数据库编程。 1. **SQL简介**:SQL,全称结构化查询语言,由IBM的员工在1970年代开发,为关系型数据库系统提供了一种...
这篇博文将深入探讨SQL语法的基础知识,帮助读者理解和掌握如何有效地使用SQL。 1. 数据库基础 SQL是设计用来与关系型数据库进行交互的语言,如MySQL、Oracle、SQL Server和PostgreSQL等。在这些数据库中,数据被...
首先,查询语句是SQL操作中最基本的部分,其关键字书写顺序为:SELECT、FROM、WHERE、GROUP BY、HAVING、ORDER BY。在实际执行中,这些关键字的执行顺序与书写顺序是不同的。以下是每个关键字的解释和应用: 1. ...
掌握基本的SQL语法对于任何使用关系型数据库的开发者和数据管理人员来说都是基础且至关重要的。 在进行SQL语句查询时,SELECT语句是最常使用的。它用于从数据库表中检索数据。SELECT语句的基本格式包括以下几个部分...
* 数据聚合:使用GROUP BY和HAVING语句对数据进行聚合 SQL语法详解 ------------- ### SELECT指令 SELECT指令是SQL语言的基础,用于从数据库中的表格内选出资料。SELECT指令的语法结构如下: SELECT "栏位名" ...
"sql语句语法练习软件"是一款专为学习SQL语法和实践操作设计的应用程序,尤其适合初学者和想要提升SQL技能的人士。这款软件涵盖了SQL的基础到高级用法,包括但不限于查询数据、创建数据库、更新表结构等核心功能。 ...