group by 子句将数据集按指定列分组并聚合每个组的指定值,语法:select aggregate_function(column_name) from table_name group by column_name。其用法包括:1. 聚合数据(计算每个组的总和、平均值等);2. 分组数据(将数据按指定列划分为组);3. 过滤数据(结合 having 子句)。
GROUP BY 语法
GROUP BY
子句将数据集按指定列进行分组,并聚合每个组的指定值。其语法如下:
<code>SELECT aggregate_function(column_name)
FROM table_name
GROUP BY column_name</code>
其中:
-
aggregate_function
:聚合函数,如SUM()
,COUNT()
,AVG()
,MAX()
,MIN()
等。 -
column_name
:用于分组的列。
用法
GROUP BY
的主要用法包括:
- 聚合数据:计算每个组的聚合值(总和、平均值、最大值、最小值等)。
- 分组数据:将数据按指定列划分为组,以便对每个组的数据进行分析。
-
过滤数据:结合
HAVING
子句,对分组后的数据进行过滤。
示例
假设我们有一个名为 Sales
的表,包含以下数据:
OrderID | Product | Category | Price |
---|---|---|---|
1 | Product A | Category 1 | 10 |
2 | Product A | Category 1 | 15 |
3 | Product B | Category 2 | 20 |
4 | Product C | Category 3 | 30 |
示例 1:计算每个类别产品的总价
<code class="sql">SELECT Category, SUM(Price) AS TotalPrice
FROM Sales
GROUP BY Category;</code>
结果:
Category | TotalPrice |
---|---|
Category 1 | 25 |
Category 2 | 20 |
Category 3 | 30 |
示例 2:按产品分组,统计订单数
<code class="sql">SELECT Product, COUNT(*) AS OrderCount
FROM Sales
GROUP BY Product;</code>
结果:
Product | OrderCount |
---|---|
Product A | 2 |
Product B | 1 |
Product C | 1 |
以上就是sql中groupby的用法的详细内容,更多请关注编程网其它相关文章!