1. 聚合函数介绍
聚合函数是SQL语言中的一种函数,用于对一组数据进行处理,生成一个新的单一值。通常用于梳理大量数据并计算汇总信息。本文将介绍MSSQL中常用的聚合函数包括SUM、AVG、COUNT、MAX、MIN。
1.1 SUM函数
SUM函数用于计算指定列的数值之和:
SELECT SUM(column_name) FROM table_name;
例如,可以使用下面的代码计算订单表中所有订单的销售额:
SELECT SUM(sales) FROM orders;
1.2 AVG函数
AVG函数用于计算指定列的平均数:
SELECT AVG(column_name) FROM table_name;
例如,可以使用下面的代码计算订单表中订单的平均销售额:
SELECT AVG(sales) FROM orders;
1.3 COUNT函数
COUNT函数用于计算符合条件的记录的数量:
SELECT COUNT(column_name) FROM table_name;
例如,可以使用下面的代码计算订单表中的订单数量:
SELECT COUNT(order_id) FROM orders;
1.4 MAX函数
MAX函数用于查询指定列的最大值:
SELECT MAX(column_name) FROM table_name;
例如,可以使用下面的代码查询订单表中销售额最高的订单:
SELECT MAX(sales) FROM orders;
1.5 MIN函数
MIN函数用于查询指定列的最小值:
SELECT MIN(column_name) FROM table_name;
例如,可以使用下面的代码查询订单表中销售额最低的订单:
SELECT MIN(sales) FROM orders;
2. 聚合函数进阶
2.1 GROUP BY语句
GROUP BY语句一般与SUM、AVG、COUNT、MAX、MIN等聚合函数配合使用,用于将结果按照一个或多个列进行分组,然后应用聚合函数。
SELECT column_name, SUM(column_name2) FROM table_name GROUP BY column_name;
例如,可以使用下面的代码按照客户姓名分组,计算每个客户的订单总金额:
SELECT customer_name, SUM(sales) FROM orders GROUP BY customer_name;
2.2 HAVING语句
HAVING语句一般用于在GROUP BY语句的结果上再次筛选,并且HAVING语句只能在GROUP BY语句之后使用。
SELECT column_name, SUM(column_name2) FROM table_name GROUP BY column_name HAVING SUM(column_name2) > value;
例如,可以使用下面的代码按照客户姓名分组,计算每个客户的订单总金额,只选择总销售额大于10000的客户:
SELECT customer_name, SUM(sales) FROM orders GROUP BY customer_name HAVING SUM(sales) > 10000;
2.3 WITH ROLLUP 语句
WITH ROLLUP语句一般用于生成汇总行,总结GROUP BY的结果集。
SELECT column_name, SUM(column_name2) FROM table_name GROUP BY column_name WITH ROLLUP;
例如,可以使用下面的代码按照客户姓名分组,计算每个客户的订单总金额,同时生成总销售额的行:
SELECT customer_name, SUM(sales) FROM orders GROUP BY customer_name WITH ROLLUP;
3. 小结
MSSQL的聚合函数是一种强大的工具,用于汇总大量的数据并提取出其中有用的信息。使用SUM、AVG、COUNT、MAX、MIN等聚合函数可以很方便地进行数据汇总,并使用GROUP BY、HAVING、WITH ROLLUP等语句对结果进行进一步筛选和汇总。