有时候我们需要对表中的数据进行汇总,而不需要数据本身,为了方便这些类型的检索,SQL给出了5个聚合函数,SQL聚合函数在各主要的SQL实现中得到了相当一致的支持。如下:

1.1 AVG()函数

AVG()通过对表中行数计数并计算其列值之和,求得该列的平均值

//AVG()示例:
SELECT AVG(prod_price) AS avg_price
FROM Products
WHERE vend_id = 'DLL01';

注意:只用于单个列

AVG()只能用来确定特定数值列的平均值,而且列名必须作为函数参 数给出。为了获得多个列的平均值,必须使用多个AVG()函数。

说明:NULL 值

AVG()函数忽略列值为NULL 的行。

1.2 COUNT()函数

COUNT()可以确定表中行的数目或符合特定条件的行的数目。

COUNT()函数的两种使用方式

  • 使用COUNT(*)对表中行的数目进行计数,不管表列中包含的是空值(NULL)还是非空值。
  • 使用COUNT(column)对特定列中具有值的行进行计数,忽略NULL 值。
//示例
SELECT COUNT(*) AS num_cust
FROM Customers;

说明:NULL 值

如果指定列名,则COUNT()函数会忽略指定列的值为空的行,但如果 COUNT()函数中用的是星号(*),则不忽略。

1.3 MAX()函数

MAX()返回指定列中的最大值。MAX()要求指定列名

//示例
SELECT MAX(prod_price) AS max_price
FROM Products;

提示:对非数值数据使用MAX()和MIN()

虽然MAX()一般用来找出最大的数值或日期值,但许多(并非所有) DBMS 允许将它用来返回任意列中的最大值,包括返回文本列中的最 大值。在用于文本数据时,MAX()返回按该列排序后的最后一行。

说明:NULL 值

MAX()和Min()函数忽略列值为NULL 的行。

1.4 MIN()函数

MIN()的功能正好与MAX()功能相反,它返回指定列的最小值

//示例
SELECT MIN(prod_price) AS min_price
FROM Products;

1.5 SUM()函数

SUM()用来返回指定列值的和(总计)

SELECT SUM(quantity) AS items_ordered
FROM OrderItems
WHERE order_num = 20005;

提示:在多个列上进行计算

如本例所示,利用标准的算术操作符,所有聚集函数都可用来执行多 个列上的计算。

说明:NULL 值

SUM()函数忽略列值为NULL 的行。

1.6 聚合不同的值

对于上面的五个函数都可以如下使用:

  • 对所有行执行计算,指定ALL 参数或不指定参数(因为ALL 是默认行为)。
  • 只包含不同的值,指定DISTINCT 参数。

提示:ALL 为默认

ALL 参数不需要指定,因为它是默认行为。如果不指定DISTINCT,则 假定为ALL。

DISTINCT示例

SELECT AVG(DISTINCT prod_price) AS avg_price
FROM Products
WHERE vend_id = 'DLL01';

注意:DISTINCT 不能用于COUNT(*)

如果指定列名,则DISTINCT 只能用于COUNT()。DISTINCT 不能用 于COUNT(*)。类似地,DISTINCT 必须使用列名,不能用于计算或表 达式。

转载于:https://www.cnblogs.com/IPrograming/p/3278750.html

SQL 必知必会·笔记7汇总数据——使用聚合函数相关推荐

  1. asp sql ip地址排序_SQL必知必会读书笔记,30分钟入门SQL!

    点击上方SQL数据库开发,关注获取SQL视频教程 SQL专栏 SQL数据库基础知识汇总 SQL数据库高级知识汇总 来源:https://segmentfault.com/p/1210000011760 ...

  2. mysql日期维表sql文件_《MySQL必知必会》笔记(SQL练习+建表语句)

    站在巨人的肩上 Standing On Shoulders Of Giants 部分转自:https://www.jianshu.com/p/294502893128 https://blog.csd ...

  3. SQL必知必会第4版读书笔记

    SQL必知必会_4 前言 @author 鲁伟林 在读电子版<<SQL必知必会>> 第4版时,做了下笔记.供以后自己或者其他学习者参考. 电子版<<SQL必知必会& ...

  4. 【SQL】【读书笔记】《MySQL必知必会》

    本文为<MySQL必知必会>[1]读书笔记,用于总结知识点和框架,仅供参考和交流,如有不妥请联系.由于软件版本更新,书中的一些代码已经不再适用,本文主要从SQL基本语句进行增删减.窗口函数 ...

  5. SQL必知必会-笔记(完善版):第1课

    文章目录 SQL必知必会 一.了解数据库 1.1 数据库基础 1.1.1 数据库 (补充)数据库管理系统: 注意1: 1.1.2 表 1.1.3 列和数据类型 1.1.4 行row 1.1.5 主键 ...

  6. 《SQL必知必会》查询部分学习笔记

    目录 <SQL必知必会>查询部分学习笔记 1 前言 2 认识SQL 3 检索数据 4 排序检索数据 5 过滤数据 6 高级数据过滤 7 通配符 8 创建计算字段 9 使用函数处理数据 11 ...

  7. 《SQL必知必会(第5版)》挑战题笔记 | 所用DBMS为Mysql,mysql workbench安装

    文章目录 一.安装 step1:mysql安装 step2:mysql workbench安装 二.下载随书资料 三.代码实战练习 2.2 检索单个列 四.MySQL知识点回顾 五.挑战题 2.9挑战 ...

  8. 【SQL必知必会笔记(3)】SELECT语句的WHERE子句数据过滤操作

    上个笔记主要介绍了利用SELECT语句检索单个/多个/所有列,并利用DISTINCT关键字检索具有唯一性的值.利用LIMIT/OFFSET子句限制结果:以及利用ORDER BY子句排序检索出的数据,主 ...

  9. sql 数据库前两列值乘_SQL | SQL 必知必会笔记 (一 )

    原文:SQL | SQL 必知必会笔记 (一 ) 作者: PyStaData 基本概念 一些规则 多条 SQL 语句必须以分号分隔. SQL 不区分大小写,但一般习惯关键字用大写,列名和表名使用小写. ...

最新文章

  1. 如何把文件隐藏在一张图片里面
  2. 微服务化的数据库设计与读写分离
  3. python人工智能——机器学习——分类算法-朴素贝叶斯算法对新闻进行分类案例
  4. mysql 36条军规_mysql开发36条军规(转)
  5. ECMAScript 5 新增 Object 接口
  6. 使用Hybris commerce的promotion rule进行促销活动
  7. 谈一谈Java编程开发中的并发控制
  8. python traceback most recent_pyspider启动错误: Traceback (most recent call last):
  9. 如何打印出lua里table的内容
  10. 传说有位游客在山顶大声谈论着小孤嫁彭郎的故事
  11. 【JS点滴】substring和substr以及slice和splice的用法和区别。
  12. 第十三章 RememberMe——《跟我学Shiro》[张开涛]
  13. ThinkPHP5小区物业管理系统
  14. html js post提交表单,JavaScript 实现POST方式提交表单
  15. python中水量_Python居然还能用于巨大的工程项目!比如三峡发电量估算系统!
  16. 许鹏-Spark源代码阅读经验和C++经典书籍资料推荐
  17. 项目管理论文十大领域各一篇
  18. 视频(mp4文件)批量转换成动图(gif文件)
  19. cppunit在vs2019上的配置和使用【Win10】【详细】
  20. Xmap的NullPointerException

热门文章

  1. 动手学pytorch之通俗易懂何为卷积-深度AI科普团队
  2. 特设三场!!快来看看 NVIDIA DLI 深度学习入门课程有没来到你的城市~
  3. fullcalendar自定义搜索框_??这款搜索神器,真希望你早点使用,越早越好!有效提升学习和生活的幸福感!
  4. abaqus失效单元删除_abaqus单元删除的一般方法
  5. 100级大橙武升级流程_DNF:女气功升级100级无暇手套,前后伤害对比。
  6. mysql防止预约重号_mysql 防止重复插入唯一限制的数据
  7. 知识图谱与推荐系统结合的方法
  8. Vue插值文本换行问题
  9. HBase基本概念与基本使用
  10. Spring mvc项目导出jar包无法识别正常映射问题