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的用法的详细内容。更多信息请关注PHP中文网其他相关文章!