SQL 聚合函数 COUNT、SUM、AVG 怎么用?

COUNT、SUM、AVG是常用SQL聚合函数,分别用于统计行数、求和与计算平均值。COUNT(*)统计所有行,COUNT(列名)统计非NULL值,COUNT(DISTINCT 列名)统计去重后的非NULL值;SUM对数值列求和,忽略NULL,仅适用于数值类型;AVG计算平均值,为SUM除以非NULL行数。这些函数可单独使用或与GROUP BY结合分组统计,常配合WHERE筛选数据。正确处理NULL值可避免结果偏差,满足多数基础统计需求。

sql 聚合函数 count、sum、avg 怎么用?

SQL 聚合函数用于对一组值执行计算并返回单个值。常用的聚合函数有 COUNTSUMAVG,它们通常与 GROUP BY 子句一起使用,也可以单独使用。

COUNT:统计行数

COUNT 用来统计满足条件的行数。

COUNT(*) 统计所有行,包括 NULL 值。 COUNT(列名) 统计该列非 NULL 的行数。 COUNT(DISTINCT 列名) 统计该列中不同(去重)且非 NULL 的值的个数。

例如,统计员工表中有多少人:

COUNT(*) FROM employees;

统计有上级领导的员工数量:

COUNT(manager_id) FROM employees;

统计不同部门的数量:

COUNT(DISTINCT department_id) FROM employees;

SUM:求和

SUM 计算某列数值的总和,忽略 NULL 值。

只能用于数值类型的列。 如果所有值都是 NULL,结果为 NULL。

例如,计算所有员工的工资总和:

阿里云-虚拟数字人 阿里云-虚拟数字人

阿里云-虚拟数字人是什么? …

阿里云-虚拟数字人 2 查看详情 阿里云-虚拟数字人

SUM(salary) FROM employees;

计算销售部门员工的工资总和:

SUM(salary) FROM employees WHERE department = 'Sales';

AVG:计算平均值

AVG 返回某列的平均值,自动忽略 NULL 值。

同样只适用于数值类型。 是 SUM 除以 COUNT 的结果(非 NULL 个数)。

例如,计算员工的平均工资:

AVG(salary) FROM employees;

按部门分组查看平均工资:

department_id, AVG(salary) FROM employees GROUP BY department_id;

基本上就这些。用好这三个函数,配合 GROUP BY 和 WHERE,就能完成大多数基础统计需求。注意处理 NULL 值的影响,避免误判结果。

以上就是SQL 聚合函数 COUNT、SUM、AVG 怎么用?的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/584863.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年11月10日 12:44:04
下一篇 2025年11月10日 12:45:02

相关推荐

  • MySQL条件聚合:使用SUM与CASE语句实现字段的按条件求和

    本教程详细介绍了如何在MySQL中实现基于特定条件的字段求和。通过结合SUM()聚合函数和CASE语句,可以精确地对满足特定条件的记录进行数值累加,例如计算特定状态下的总时长,从而解决传统SUM()无法按条件聚合的问题,极大地增强了数据查询的灵活性和精确性。 1. 问题背景与挑战 在数据库查询中,我…

    2025年12月11日
    000
  • PHP与MySQL:高效统计多列中特定值的出现次数

    本文旨在探讨如何在MySQL数据库表中高效统计多列中特定值的出现频率,并利用PHP进行数据处理。我们将介绍两种主要方法:通过PHP的array_reduce函数在应用层进行数据聚合,以及利用MySQL的SUM(CASE WHEN … END)语句在数据库层完成聚合。通过对比这两种方法的优…

    2025年12月11日
    000
  • MySQL与PHP:高效统计数据库列中特定值的出现次数

    本教程探讨如何使用PHP和MySQL高效统计数据库表中多列中特定值的出现次数。文章将介绍两种主要方法:一种是利用PHP的数组处理功能在应用层聚合数据,另一种是利用SQL的强大聚合能力在数据库层直接获取统计结果,并提供详细的代码示例和最佳实践建议。 在数据分析和报表生成场景中,我们经常需要统计数据库表…

    2025年12月11日
    000
  • 跨时区数据聚合:MySQL与PHP中的时间处理策略

    本文旨在指导开发者如何在MySQL和PHP中高效处理跨时区的时间数据,特别是当需要根据用户指定时区进行MIN/MAX等聚合操作时。文章详细阐述了MySQL CONVERT_TZ 函数的配置与使用,以及PHP DateTime 类的应用,并提供了具体的代码示例和最佳实践建议。 引言:跨时区时间聚合的挑…

    2025年12月11日
    000
  • PHP从文本文件解析数据并生成带汇总行的HTML表格教程

    本教程详细讲解如何使用PHP从特定格式的文本文件中读取、解析数据,并将其动态渲染成一个带有详细记录和底部汇总统计行的HTML表格。内容涵盖文件操作、字符串解析、数据聚合(如计算唯一值、总和、最常见项和平均值)以及HTML表格的构建,旨在提供一个清晰实用的数据展示解决方案。 1. 概述与数据源格式 在…

    2025年12月11日
    000
  • 在 Laravel 视图中显示 SQL SUM() 结果的正确方法

    本文档旨在指导开发者如何在 Laravel 视图中正确显示使用 DB::select() 查询得到的 SQL SUM() 聚合函数的结果。通过示例代码和详细解释,帮助开发者理解如何从 stdClass 对象中提取数值,并避免常见的错误。我们将演示如何通过使用别名简化字段访问,并在 Blade 模板中…

    2025年12月11日
    000
  • SQL数据聚合与排序:实现重复行求和与结果降序排列

    本文详细介绍了如何使用SQL进行数据聚合与排序。通过结合GROUP BY子句和SUM()聚合函数,可以高效地将数据库表中重复的记录进行合并,并对相关数值进行求和。随后,利用ORDER BY子句实现对聚合结果的自定义排序,从而清晰地展现汇总后的数据,例如计算每个实体的总分数或总数量,并按从大到小的顺序…

    2025年12月11日
    000
  • SQL 数据聚合与排序:实现重复行合并求和及按值排序

    本教程详细讲解如何利用 SQL 实现数据库中重复行的合并与数据聚合。通过 GROUP BY 子句对指定列进行分组,结合 SUM() 聚合函数计算各组的总和,最后使用 ORDER BY 对聚合结果进行降序排序。文章将提供清晰的示例代码,帮助读者高效地处理类似的数据整理与分析需求,优化查询结果的呈现方式…

    2025年12月11日
    000
  • SQL数据聚合与排序:合并重复行并按总和降序排列

    本文详细阐述了如何使用SQL对数据库中的重复数据进行聚合处理。通过结合GROUP BY子句对特定列进行分组,并利用SUM()函数计算每个分组的总和,实现将多行重复数据合并为一行并汇总其关联数值。文章还介绍了如何在此基础上,使用ORDER BY子句对聚合后的结果进行降序排序,以满足按总和大小排列的需求…

    2025年12月11日
    000
  • SQL数据聚合与排序:高效汇总并按总和降序排列

    本教程详细介绍了如何使用SQL查询对数据库表中的数据进行聚合操作,特别是针对具有重复项的列,通过GROUP BY子句将相同的数据项分组,并结合SUM()函数计算其关联数值的总和。最后,利用ORDER BY … DESC对聚合结果进行降序排序,以实现按总和大小的排列。文章提供了具体的SQL…

    2025年12月11日
    000
  • PHP常用框架怎样进行模型关联与查询优化 PHP常用框架数据关联的实用技巧

    答案:避免N+1查询问题的核心是使用预加载(Eager Loading),如Laravel的with()方法,将多次查询合并为少量查询,同时结合whereHas筛选、选择性字段加载和索引优化,根据场景灵活选用懒加载、预加载或延迟预加载策略。 PHP常用框架在模型关联和查询优化上,核心在于理解数据如何…

    2025年12月11日
    000
  • 如何在Laravel中将复杂原生SQL查询转换为查询构建器并实现分页

    本教程详细阐述了如何在Laravel框架中将包含子查询、聚合函数及条件逻辑的复杂原生SQL语句转换为查询构建器(Query Builder)操作。通过利用DB::raw()处理复杂表达式和joinSub()管理子查询,我们不仅能提升代码的可读性和可维护性,还能轻松实现分页功能,有效应对大数据量场景,…

    2025年12月11日
    000
  • 如何将复杂原始SQL查询转换为Laravel查询构建器

    本教程详细阐述了如何将包含子查询、复杂聚合函数及条件逻辑的原始SQL语句优雅地转换为Laravel查询构建器(Query Builder)操作。通过利用DB::raw()处理原生SQL片段和joinSub()实现子查询联接,文章展示了如何构建可读性更强、更安全且易于分页的数据库查询,从而提升开发效率…

    2025年12月11日
    000
  • Laravel Query Builder:复杂SQL查询与分页实践

    本文深入探讨如何在Laravel中利用查询构建器处理复杂的SQL查询,特别是涉及子查询、聚合函数和条件表达式的场景。通过详细示例,展示如何将原始SQL逻辑转换为可维护、可读性强的构建器代码,并高效实现数据分页,从而提升应用程序的性能与开发效率。 引言:为何选择Laravel查询构建器? 在web开发…

    2025年12月11日
    000
  • Laravel Query Builder:复杂SQL查询的转换与高效分页实践

    本文深入探讨如何在Laravel框架中将复杂的原始SQL查询转换为Query Builder表达式,旨在解决原始SQL难以分页、数据量庞大等问题。文章将重点讲解如何利用joinSub处理嵌套子查询,并通过DB::raw实现复杂的聚合函数与条件求和,最终结合paginate方法实现数据的高效分页,从而…

    2025年12月11日
    000
  • Laravel:将原生 SQL 查询转换为 Query Builder

    本文档旨在指导开发者如何将现有的原生 SQL 查询语句转换为 Laravel 的 Query Builder 形式,以便更好地利用 Laravel 提供的诸如分页等功能。通过示例代码,详细展示了如何使用 Query Builder 实现复杂的查询逻辑,并提供了一些注意事项,帮助开发者在实际项目中高效…

    2025年12月11日
    000
  • PHP常用框架怎样进行性能分析与瓶颈优化 PHP常用框架性能调优的技巧

    常用的php框架性能分析工具包括xdebug、blackfire.io、new relic、datadog、php-fpm慢日志和数据库慢查询日志;2. xdebug适用于开发环境的代码级性能画像,blackfire.io适合生产环境低开销深度分析,new relic和datadog提供端到端应用性…

    2025年12月11日
    000
  • Laravel Eloquent 中实现条件关联数据加载

    本文将深入探讨在 Laravel Eloquent 中如何有效地加载满足特定条件的关联数据。由于 MySQL 数据库本身不支持在外部键约束中直接添加 WHERE 子句来实现条件性关联,因此我们将重点介绍如何利用 Laravel Eloquent 提供的 with 方法结合闭包函数,在应用层面实现对关…

    2025年12月11日
    000
  • 优化SQL查询:获取分组中最低价格的唯一记录

    本文旨在教授如何使用SQL的聚合函数MIN()和GROUP BY子句,高效地从数据表中检索每个分组(如产品ISBN)中具有最低特定值(如价格)的唯一记录。同时,将介绍如何利用IN操作符替代多个OR条件,以优化查询的可读性和执行效率,确保获取到每个唯一标识符对应的最低价格信息。 在处理关系型数据库时,…

    2025年12月11日
    000
  • PHP SQL:高效查询分组数据并选取最低价格的唯一记录

    本文详细介绍了如何在SQL中查询分组数据,并为每个分组选取具有最低价格的唯一记录。通过结合使用MIN()聚合函数和GROUP BY子句,以及优化WHERE条件中的OR为IN操作符,实现高效、准确的数据检索。教程提供了清晰的SQL示例和关键概念解释,帮助读者掌握此类数据处理技巧。 理解按分组选取最低值…

    2025年12月11日
    000

发表回复

登录后才能评论
关注微信