oracle 中的 group by 语句用于根据指定列分组数据并聚合汇总值,语法为:select 聚合函数(列名), 分组列 from 表名 group by 分组列。功能包括将相同分组列值的数据分组、对每个组应用聚合函数以计算汇总值,分组列用于对数据进行分组,聚合函数用于计算汇总值。
Oracle 中 GROUP BY 的用法
GROUP BY 是 Oracle 中用于根据指定列对数据进行分组并聚合的 SQL 语句。
语法
<code>SELECT <a style="color:#f60; text-decoration:underline;" href="https://www.codesou.cn/" target="_blank">聚合函数</a>(列名), 分组列 FROM 表名 GROUP BY 分组列</code>
功能
- 将相同分组列值的数据分组在一起。
- 对每个组应用聚合函数(如 SUM、COUNT、AVG)以计算汇总值。
分组列
分组列是用于对数据进行分组的列。可以一次分组多个列。
聚合函数
聚合函数是对每个组计算汇总值。Oracle 支持多种聚合函数,包括:
- SUM
- COUNT
- AVG
- MAX
- MIN
示例
查询客户的总订单数量:
<code>SELECT COUNT(order_id), customer_id FROM orders GROUP BY customer_id;</code>
查询每个产品的平均订单数:
<code>SELECT AVG(order_quantity), product_id FROM order_details GROUP BY product_id;</code>
注意:
- 分组列必须出现在 SELECT 子句中。
- 聚合函数必须出现在 SELECT 子句中并带有分组列。
- NULL 值不会影响分组,而是被视为一个单独的组。