sql 中用于分組查詢的語(yǔ)句是 group by,它按照指定列或表達(dá)式對(duì)數(shù)據(jù)集進(jìn)行分組,并計(jì)算每個(gè)組的聚合值,如求和或求平均值。例如,group by product_name 和 sum(sales_amount) 可以計(jì)算每個(gè)產(chǎn)品的總銷(xiāo)售額,產(chǎn)生以下結(jié)果:product_name, total_sales,其中 product_name 是分組列,total_sales 是每個(gè)組的銷(xiāo)售額總和。group by 查詢可以嵌套以創(chuàng)建更復(fù)雜的分組,例如,嵌套 group by product_ca
SQL 中用于分組查詢的語(yǔ)句
分組查詢是一種將數(shù)據(jù)集按照特定列或表達(dá)式進(jìn)行分組,并計(jì)算每個(gè)組的聚合值(如求和、求平均值)的查詢。在 SQL 中,用于分組查詢的主要語(yǔ)句是 GROUP BY。
GROUP BY 語(yǔ)句
GROUP BY 語(yǔ)句的基本語(yǔ)法如下:
<code>SELECT 列名, <a style="color:#f60; text-decoration:underline;" href="https://www.php.cn/zt/51779.html" target="_blank">聚合函數(shù)</a>(列名) FROM table_name GROUP BY 列名</code>
登錄后復(fù)制
其中:
列名:需要分組的列或表達(dá)式。
聚合函數(shù):應(yīng)用于每個(gè)組的聚合函數(shù),如 SUM()、AVG()、COUNT()。
示例
考慮一個(gè)名為 “sales” 的表,其中包含以下列:
product_id | product_name | sales_amount |
---|---|---|
1 | Apple | 100 |
2 | Orange | 200 |
3 | Banana | 300 |
4 | Apple | 250 |
5 | Orange | 150 |
要計(jì)算每個(gè)產(chǎn)品的總銷(xiāo)售額,可以使用以下 GROUP BY 查詢:
<code class="sql">SELECT product_name, SUM(sales_amount) FROM sales GROUP BY product_name;</code>
登錄后復(fù)制
查詢結(jié)果將如下所示:
product_name | total_sales |
---|---|
Apple | 350 |
Orange | 350 |
Banana | 300 |
嵌套 GROUP BY
GROUP BY 查詢可以嵌套在其他查詢中,以創(chuàng)建更復(fù)雜的分組。例如,要計(jì)算每個(gè)產(chǎn)品類(lèi)別和每個(gè)產(chǎn)品的總銷(xiāo)售額,可以使用以下嵌套 GROUP BY 查詢:
<code class="sql">SELECT product_category, product_name, SUM(sales_amount) FROM sales GROUP BY product_category, product_name;</code>
登錄后復(fù)制
查詢結(jié)果將如下所示:
product_category | product_name | total_sales |
---|---|---|
Fruits | Apple | 350 |
Fruits | Banana | 300 |
Fruits | Orange | 350 |