SQL Server Sum()函数

您所在的位置:网站首页 sum函数的中文名称 SQL Server Sum()函数

SQL Server Sum()函数

2023-10-31 11:37| 来源: 网络整理| 查看: 265

在本教程中,将学习如何使用SQL Server SUM()函数来计算值的总和。

SQL Server SUM()函数是一个聚合函数,用于计算表达式中所有或不同值的总和。

SUM()函数的语法如下:

SUM([ALL | DISTINCT ] expression)

在这个语法中:

ALL指示SUM()函数返回包括重复项在内的所有值的总和。默认情况下使用ALL。DISTINCT指示SUM()函数计算唯一不同值的总和。expression是返回精确或近似数值的任何有效表达式。请注意,表达式中不接受聚合函数或子查询。

注意:SUM()函数忽略NULL值。

ALL与DISTINCT比较

下面将创建一个新表来演示ALL和DISTINCT之间的区别:

CREATE TABLE t( val INT ); INSERT INTO t(val) VALUES(1),(2),(3),(3),(4),(NULL),(5); SELECT val FROM t;

执行上面查询语句,得到以下结果:

创建并查询表

以下语句返回val列中所有值的总和:

SELECT SUM(val) total FROM t;

执行上面查询语句,得到以下结果:

total ----------- 18 Warning: Null value is eliminated by an aggregate or other SET operation. (1 row affected)

但是,当使用DISTINCT修饰符时,SUM()函数仅返回val列中唯一值的总和:

SELECT SUM(DISTINCT val) total FROM t;

执行上面查询语句,得到以下结果:

total ----------- 15 Warning: Null value is eliminated by an aggregate or other SET operation. (1 row affected) SQL Server SUM()函数示例

下面来看一些使用SUM()函数的例子。

1. SQL Server SUM()函数简单的示例

以下语句返回所有仓库中所有商品的总库存:

SELECT SUM(quantity) total_stocks FROM production.stocks;

以下显示输出:

total_stocks ------------ 13511 (1 row affected) 1. SQL Server SUM()函数带有GROUP BY示例

以下语句按商店ID查找总库存:

SELECT store_id, SUM(quantity) store_stocks FROM production.stocks GROUP BY store_id;

执行上面查询语句,得到以下结果:每个商店库存量

在这个例子中:

首先,GROUP BY子句按商店ID将库存划分为组。其次,SUM()函数应用于每个分组以计算每个组的总库存。

如果要显示商店名称而不是商店ID,可以使用以下语句:

SELECT store_name, SUM(quantity) store_stocks FROM production.stocks w INNER JOIN sales.stores s ON s.store_id = w.store_id GROUP BY store_name;

执行上面查询语句,得到以下结果:

Sum()函数

3. SQL Server SUM()函数与HAVING子句示例

以下语句查找每种产品的库存,仅返回库存大于100的产品:

SELECT product_name, SUM(quantity) total_stocks FROM production.stocks s INNER JOIN production.products p ON p.product_id = s.product_id GROUP BY product_name HAVING SUM(quantity) > 100 ORDER BY total_stocks DESC;

执行上面查询语句,得到以下结果:

4. SQL Server SUM()函数带有表达式的示例

以下示例在SUM()函数中使用表达式计算每个销售订单的净值:

SELECT order_id, SUM( quantity * list_price * (1 - discount) ) net_value FROM sales.order_items GROUP BY order_id ORDER BY net_value DESC;

执行上面查询语句,得到以下结果:

在本教程中,学习了如何使用SQL Server SUM()函数来计算值的总和。

  

上一篇: SQL Server聚合函数 下一篇: SQL Server日期函数


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3