sql中用于分组查询的语句-SQL
SQL 中用于分组查询的语句
分组查询是一种将数据集按照特定列或表达式进行分组,并计算每个组的聚合值(如求和、求平均值)的查询。在 SQL 中,用于分组查询的主要语句是 GROUP BY。
GROUP BY 语句
GROUP BY 语句的基本语法如下:
SELECT 列名, <a style="color:#f60; text-decoration:underline;" href="https://www.php.cn/zt/51779.html" target="_blank">聚合函数</a>(列名) FROM table_name GROUP BY 列名
登录后复制
其中:
- 列名:需要分组的列或表达式。
- 聚合函数:应用于每个组的聚合函数,如 SUM()、AVG()、COUNT()。
示例
考虑一个名为 "sales" 的表,其中包含以下列:
product_id | product_name | sales_amount |
---|---|---|
1 | Apple | 100 |
2 | Orange | 200 |
3 | Banana | 300 |
4 | Apple | 250 |
5 | Orange | 150 |
要计算每个产品的总销售额,可以使用以下 GROUP BY 查询:
SELECT product_name, SUM(sales_amount) FROM sales GROUP BY product_name;
登录后复制
查询结果将如下所示:
product_name | total_sales |
---|---|
Apple | 350 |
Orange | 350 |
Banana | 300 |
嵌套 GROUP BY
GROUP BY 查询可以嵌套在其他查询中,以创建更复杂的分组。例如,要计算每个产品类别和每个产品的总销售额,可以使用以下嵌套 GROUP BY 查询:
SELECT product_category, product_name, SUM(sales_amount) FROM sales GROUP BY product_category, product_name;
登录后复制
查询结果将如下所示:
product_category | product_name | total_sales |
---|---|---|
Fruits | Apple | 350 |
Fruits | Banana | 300 |
Fruits | Orange | 350 |