-- Select the total quantity and the total revenue-- Calculate the total quantity of all orders and alias 'total_quantity'.-- Calculate the total revenue and assigns it an alias 'total_revenue'.SELECT SUM(quantity) AS total_quantity, SUM(quantity * price) AS total_revenueFROM orders;技术支持
-- Calculate cumulative sums of the 'quantity' column for each order_dateSELECT order_date, quantity, -- Calculate the cumulative sum of 'quantity' ordered by 'order_date' SUM(quantity) OVER (ORDER BY order_date) AS cumulative_quantityFROM orders;技术支持
-- Calculate the total quantity of opening_quantity and received_quantity columns-- Sum the total values in one columnSELECT SUM(opening_quantity + received_quantity) AS total_quantityFROM orders;技术支持
-- Calculate rolling sums of the 'quantity' column for the past 3 orders for each order_dateSELECT order_date, quantity, -- Calculate the rolling sum of 'quantity' over the last 3 rows ordered by 'order_date' SUM(quantity) OVER ( ORDER BY order_date ROWS BETWEEN 2 PRECEDING AND CURRENT ROW ) AS rolling_quantityFROM orders;技术支持
-- Sum the distinct values of the quantity and price columnsSELECT SUM(DISTINCT quantity) AS total_distinct_quantity, SUM(DISTINCT price) AS total_distinct_priceFROM orders;技术支持
SQL 的
SUM()函数是一种实用的聚合函数,用于计算数值列的总和。SUM()函数在数据分析中非常重要,因为它能够汇总特定数值列的关键指标。由于用法直观,SUM()函数有助于数据分析师从海量数据集中提炼出有意义的洞见。此外,这个通用的函数在多种数据库中均受支持,包括 SQL Server、PostgreSQL、MySQL 和 Oracle。如果您是希望提升分析技能的新手或资深数据分析师,强烈推荐学习 DataCamp 的SQL 入门和SQL 进阶课程,提升您的数据分析能力。在学习过程中,SQL 基础速查表也将是很好的参考资料。
如何在 SQL 中使用 SUM() 函数
SQL 的
SUM()函数用于对数据集中某一列的值进行求和。考虑表orders,其结构如下。使用 SUM() 函数汇总列总计的示例表。图片来源:作者。
下面的查询会返回
quantity列的总数量,并将其命名为total_quantity,以及由quantity与price的乘积求和得到的收入,并将其命名为total_revenue。请注意,在
total_revenue的场景中,SUM()函数与一个表达式配合使用,在求和之前对列进行了额外计算。另外请注意,SUM()函数在计算总和时会忽略NULL值。SQL 中 SUM() 函数的使用场景
SQL 中的
SUM()函数也可用于执行更高级的计算。下面来看几个示例。在 SQL 中计算累计和
累计和指的是某个数值列的运行总计。计算累计和很重要,因为它有助于在不同时间段跟踪收入或销售等关键指标的总量。下面的查询展示了如何使用
SUM()函数计算 quantity 列的累计总计。使用 SQL SUM() 函数计算累计和的示例输出表。图片来源:作者。
我建议学习 DataCamp 的SQL 中的数据操作课程,该课详细讲解了用于聚合的窗口函数,包括计算运行总计等技巧。SQL 窗口函数速查表也是快速查阅不同窗口函数及其用法的合适指南。
在 SQL 中对多列求和
SUM()函数还可用于计算多列的总计。这种方法将多列的数据聚合到一起。请看下面新的orders表,包含opening_quantity和received_quantity两列。使用 SQL SUM() 函数对多列求和的示例表。图片来源:作者。
下面的示例展示了如何使用
SUM()函数计算opening_quantity与received_quantity两列的合计。在这里,使用+运算符对两个数值进行算术加法。在 SQL 中计算滚动求和
滚动求和允许基于指定数量的前置行来计算总计。SQL 中的
SUM()函数可用于计算诸如 7 天总销售额等重要指标的滚动求和。下面的查询给出了一个示例,展示如何使用SUM()函数按照order_date排序,对最近 3 行的quantity进行滚动求和。使用 SUM() 函数在 SQL 中计算滚动求和的示例表格输出。作者供图。
在 SQL 中对 DISTINCT 值求和
您可以使用
DISTINCT关键字对某一列的值求和,只计算唯一值的总计。下面的示例展示了如何用DISTINCT关键字对quantity和price两列中的唯一值求和。SUM 与其他 SQL 聚合函数
如我们所见,SQL 的
SUM()函数功能强大,且比看起来更灵活。不过,它只是众多SQL 聚合函数之一。下表汇总了最常见的 SQL 聚合函数、其描述及示例:结语
学习 SQL 中的
SUM()函数,有助于理解其在数据分析中的多种用法。主流数据库都支持SUM()函数,且在不同子句和窗口函数的配合上实现相近。我建议您结合不同数据集多加练习SUM()的用法,以提升您的 SQL 技能。如果您想提升面向商业分析的 SQL 技能,建议查看 DataCamp 的 SQL Fundamentals 技能路径,了解按需掌握的能力。同样,欢迎查看我们的 Associate Data Analyst in SQL 职业路径,帮助您学习并掌握推进职业发展的必备 SQL 技能。最后,我强烈推荐获取 DataCamp 的 SQL Associate Certification,以展示您对 SQL 技能的掌握,并助您在众多数据分析师中脱颖而出。