SQL SUM2.SQL Server有许多聚合函数。一个这样的功能是“SUM()”功能。此函数添加了两个或多个列,为您提供所有这些列的总附加值。列可以是整数,浮点,小数或金钱数据类型。您可以使用SUM函数来加起来和显示结果,也可以在另一个数据库表列中添加和存储值。

SQL新的新书和写疑问?了解如何在udemy.com上为应用程序编写SQL查询。

识别和函数的列

任何数字列都可以用于sum函数。要确定可以用于sum函数的列,需要查看表和定义的数据类型。例如,在SQL Server中,如果右键单击任何数据库表,可以选择“Design”来查看列定义列表。其他数据库如MySQL和Oracle有GUI软件来帮助您进行表设计。

使用总和函数

在知道要使用的列之后,现在可以在表上运行sum函数。例如,您可能有一个订单表,其中您的客户订购了大量产品。下面的代码是一个计算你的每一个订单的数量的例子:

从订单中选择sum(数量)

运行此语句并查看结果。在这种情况下,您只会看到添加数量的列表。从报告状态来看,这不是很有用。下面的代码给出了添加的数量,但是它有一个列名用于求和的数量:

从订单中选择sum(quantity)作为TotalQuantity

在上述声明中,您的增加的数量显示出“TotalQuality”列标题。当然,你可能不想要数量列表。即使这是一份报告,它也没有任何帮助。您可能想知道每个客户订购多少。要执行此类搜索,您需要在现有查询上使用另外两个短语。

了解如何使用SQL并在UDEMY.com上查询数据库。

第一步是向查询添加“where”子句。“where”子句过滤返回的记录数量。这意味着,与上面语句中所发生的返回所有数量不同,您只返回想要查看的记录。例如,假设您只想查看7天内所下订单的客户数量列表。下面的代码是一个例子,如何做到这一点:

select sum(quantity) as TotalQuantity from orders where orderdate >= getdate() - 7

在上面的语句中,假定您将订单日期保存在“orderdate”列中。“getdate()”函数获取当前系统日期和时间。条款的“- 7”部分从当前日期减去7天。因此,返回的唯一记录是订单日期大于7天之前的订单。

通过上面的代码,您可以为数据库orders表中的每条记录获得一个数量。这个查询假设您在表中保留一个数量。一些数据库管理员将强制您避免使用这种方法,并只链接到订购的产品,这些产品将在本节的表中有一个数量。

这意味着您将得到每个订单的总和数量,但假设您想看到基于客户的数量。通常,在订单表中存储一个客户Id,以便将客户与订单联系起来。下面的代码显示了如何根据客户id对记录进行分组:

从OrderDate> = GetDate() -  7的订单中选择CustomerId,Sum(数量)作为TotalQuantity

上面的代码向您展示每个客户ID的总和。但是,只有客户ID不会告诉您客户名称,除非您将客户编号与其相应的名称记住。以下代码向您展示如何显示客户名称,该客户名称位于加入的客户表中:

选择名称,CustomerID,Sum(数量)作为Orders o在O.CustomerID = C.CustomerID的Onderdate> = GetDate() -  7

当您运行上面的查询时,您将看到三列:name、customerid和TotalQuantity。这是一个更有用的查询,因为您可以根据每个客户看到销售的产品数量。这可以添加到您的任何销售报告。

其他汇总函数

SQL有几个其他聚合函数。您还可以根据特定查询计算记录数。例如,假设您要查找上周内的订单数。以下“count”SQL函数确定总计的订单数:

select count(*) as TotalOrders from orders where orderdate >= getdate() - 7

SQL还具有“AVG”功能。此函数计算平均值,这是指定列的总和除以列数。例如,您可能希望了解每个订单的平均总数。这使您可以计算您的平均收入和成本。以下SQL语句计算销售平均值:

从OrderDate> = GetDate() -  7的订单中选择AVG(ORDER_TOTAL)作为ORRENTORAL

上面的声明假定您在“Order_total”列中存储订单的总数。请注意,您无需进行任何计算。只需使用AVG函数,SQL执行基本计算。

SQL也有一个“min”和“max”函数。min函数得到记录集中的最小值,max函数得到最大值。

例如,您可能希望本周获得最高或最低的销售。下面的代码是本周最低(min)和最高(最多):

从订单> = getDate() -  7从OrderDate> = GetDate() -  7的订单中选择最多订单,选择Min(Order_total)

同样,Where子句过滤数据,因此只有最小7天从最小的顺序拉动。

聚合SQL函数使您更轻松地在列上执行基本数学。通过一些更复杂的查询,您可以为您的业务创建报告和其他数据操作。

关于使用类进行SQL编码的更多信息,请访问Udemy.com。

SQL中的顶级课程

综合SQL课程2021
Malvik vagadia.
4.9 (30)
热和新的
SQL编程基础知识
全球学院
4.4 (117)
SQL和PostgreSQL:完整的开发人员指南
斯蒂芬格莱德里
4.7 (1,482)
评价最高
完整的SQL Bootcamp 2021:从零到英雄
何塞Portilla
4.7 (99373)
畅销书
终极MySQL训练营:从SQL初学者到专家
Colt Steele,Ian Schoonover
4.6 (54,479)
畅销书
SQL - 用于数据分析和商业智能的MySQL
365职业
4.6 (27,915)
畅销书
高级SQL:SQL Expert认证准备课程
Oracle Master Training•全球90,000多名学生,古典明星学院
4.5 (2,228)
完整的SQL和数据库训练营:零到精通[2021]
Andrei Neagoie, Mo Binni
4.6 (1,491)
SQL for初学者:使用MySQL和数据库设计学习SQL
Tim Buchalka的学习编程学院,Jon Avis - SQL教练
4.5 (11,498)
SQL & PostgreSQL初学者:成为一个SQL专家
Jon Avis - SQL教练
4.6 (3,251)
畅销书

更多SQL课程

SQL学生还学习

让你的团队。领导行业。

通过Udemy为Business获取组织的在线课程和数字学习工具库的订阅。

请求一个演示