合计函数 (比如 SUM) 常常需要添加 GROUP BY 语句。
GROUP BY 语句
GROUP BY 语句用于结合合计函数,根据一个或多个列对结果集进行分组。
SQL GROUP BY 语法
SELECT column_name, aggregate_function(column_name)
FROM table_name
WHERE column_name operator value
GROUP BY column_name
SQL GROUP BY 实例
我们拥有下面这个 "Orders" 表:
O_Id OrderDate OrderPrice Customer
1 2008/12/29 1000 Bush
2 2008/11/23 1600 Carter
3 2008/10/05 700 Bush
4 2008/09/28 300 Bush
5 2008/08/06 2000 Adams
6 2008/07/21 100 Carter
现在,我们希望查找每个客户的总金额(总订单)。
我们想要使用 GROUP BY 语句对客户进行组合。
我们使用下列 SQL 语句:
SELECT Customer,SUM(OrderPrice) FROM Orders
GROUP BY Customer
结果集类似这样:
Customer SUM(OrderPrice)
Bush 2000
Carter 1700
Adams 2000
很棒吧,对不对?
让我们看一下如果省略 GROUP BY 会出现什么情况:
SELECT Customer,SUM(OrderPrice) FROM Orders结果集类似这样:
Customer SUM(OrderPrice)
Bush 5700
Carter 5700
Bush 5700
Bush 5700
Adams 5700
Carter 5700
上面的结果集不是我们需要的。
那么为什么不能使用上面这条 SELECT 语句呢?解释如下:上面的 SELECT 语句指定了两列(Customer 和 SUM(OrderPrice))。"SUM(OrderPrice)" 返回一个单独的值("OrderPrice" 列的总计),而 "Customer" 返回 6 个值(每个值对应 "Orders" 表中的每一行)。因此,我们得不到正确的结果。不过,您已经看到了,GROUP BY 语句解决了这个问题。
GROUP BY 一个以上的列
我们也可以对一个以上的列应用 GROUP BY 语句,就像这样:
SELECT Customer,OrderDate,SUM(OrderPrice) FROM Orders
GROUP BY Customer,OrderDate
分享到:
相关推荐
SQL GROUP BY 语句是数据库查询中非常重要的一个部分,它允许我们对数据进行分组,以便于统计和分析。在处理大型数据集时,GROUP BY 与聚合函数(如 SUM、COUNT、AVG、MAX 和 MIN)一起使用,能够帮助我们汇总数据,...
GROUP BY 是 SQL 中的一种分组查询语句,通常与聚合函数配合使用。GROUP BY 语句根据一个或多个列将查询结果分组,并对每组计算聚合函数的值。 在使用 GROUP BY 语句时,需要注意以下几点: 1. select 语句中所有...
Sql 聚合函数和 group by 的关系详解 Sql 聚合函数和 group by 是 SQL 语言中两个非常重要的概念,它们之间存在紧密的联系。那么,什么是聚合函数?什么是 group by?它们之间的关系是什么?在本文中,我们将详细地...
2. **构建SQL查询语句**:根据输入参数动态生成SQL查询语句,包括`WHERE`、`GROUP BY`和`ORDER BY`子句。 3. **执行分页查询**:使用动态生成的SQL语句执行查询,并通过设置`ROWCOUNT`来限制返回的结果集大小。 ###...
### SQL语句中Group BY 和Rollup以及Cube用法 #### Group BY 子句 `GROUP BY`子句是SQL查询中的一个非常重要的部分,它用于将数据表中的行按照一个或多个列进行分组,使得可以对每个分组执行聚合函数(如SUM、...
4. GROUP BY语句:用于对查询结果进行分组。 5. HAVING语句:用于对分组结果进行筛选。 例如: SELECT 字段名1, 字段名2, …… FROM 表名 WHERE 条件 GROUP BY 字段名 HAVING 条件; 四、SQL*Plus命令: 1. ...
在这个名为“SQL语句SQL语句.zip”的压缩包中,包含了一个名为“SQL语句.sql”的文件,很可能是包含了一系列SQL查询和其他数据库操作的脚本。 SQL主要分为以下几个部分: 1. 数据查询(DQL):这是SQL最基础的功能...
group by 就是依据by 后面的规则对数据分组,所谓的分组就是讲数据集划分成若干个’小组’,针对若干个小组做处理。 2.语法规则 SELECT column_name, aggregate_function(column_name) FROM table_name WHERE ...
在数据库查询语言SQL中,Group By子句是一种常用的聚合查询工具,它可以将数据集分成不同的组,对每组数据执行聚合函数操作,比如计算每个组的平均值、总和、最大值、最小值等。当与Select语句结合使用时,Group By...
除此之外,SQL还支持更复杂的操作,如JOINs(连接多个表)、GROUP BY(用于聚合数据)、ORDER BY(排序结果)和HAVING(在聚合后设置条件)。同时,SQL的事务处理能力确保了数据的一致性,即使在事务的一部分失败时...
本查询语句使用 GROUP BY 语句对销售明细表进行分组,并使用 SUM 函数计算每种产品的销售数量和金额。 6. 使用 CONVERT 函数按客户编号统计每个客户 1996 年的订单总金额 SELECT cust_id, SUM(tot_amt) totprice ...
这个查询首先通过`GROUP BY`和`HAVING`子句找出`Parameter`字段值重复的行,然后在外部查询中筛选出这些重复记录。 2. 单字段去重删除: 如果希望删除重复的记录,但保留每个重复组中主键ID最小的记录,可以使用...
本文将深入探讨基本的SQL查询语句,帮助你从基础开始全面掌握SQL。 1. **SELECT语句**:SQL的核心是SELECT语句,它用于从数据库中检索数据。基本语法如下: ```sql SELECT column1, column2, ... FROM table_...
这个"SQLServer实用SQL语句大全"资源很可能包含了广泛且深入的SQL语法和实用技巧,适用于数据库设计、数据查询、数据更新以及数据库维护等各种场景。下面我们将深入探讨一些重要的SQL Server SQL语句和概念。 1. **...
**JsonSQL: SQL语句解析JSON文件** 在大数据处理和Web应用中,JSON(JavaScript Object Notation)格式已经成为数据交换的常见格式。然而,对于习惯使用SQL查询关系型数据库的人来说,处理JSON数据可能会觉得不太...
3. **数据查询语言(DQL)**:用于从数据库中检索数据,最常用的语句是`SELECT`,可以配合`WHERE`子句进行条件查询,`GROUP BY`用于数据分组,`HAVING`用于分组后的条件过滤。 4. **数据控制语言(DCL)**:用于...
这个语句使用了 `join` 语句来连接两个表,並使用 `group by` 语句来对客户信息进行分组。 8. 查找 1997 年的销售记录 下面,我们来看一个查询语句,用于查找 1997 年中有销售记录的客户编号、名称和订单总额。 ``...
- **分组与排序**:GROUP BY和ORDER BY子句,分别用于按一个或多个字段进行数据分组和排序。 - **联接查询**:JOIN操作将两个或更多表的数据结合在一起,如INNER JOIN、LEFT JOIN、RIGHT JOIN和FULL JOIN。 - **...