SQL--合计函数(Aggregate functions):avg,count,first,last,max,min,sum

avg() 函数

定义和用法

AVG 函数返回数值列的平均值。NULL 值不包括在计算中。

SQL AVG() 语法

SELECT AVG(column_name) FROM table_name

SQL AVG() 实例

我们拥有下面这个 "Orders" 表:

O_Id OrderDate OrderPrice Customer
1 2008/12/29 1000 Bush
2 2008/11/23 1600 Carter
3 2008/10/05 700 Bush
4 2008/09/28 300 Bush
5 2008/08/06 2000 Adams
6 2008/07/21 100 Carter

例子 1

现在,我们希望计算 "OrderPrice" 字段的平均值。

我们使用如下 SQL 语句:

SELECT AVG(OrderPrice) AS OrderAverage FROM Orders

结果集类似这样:

OrderAverage
950

例子 2

现在,我们希望找到 OrderPrice 值高于 OrderPrice 平均值的客户。

我们使用如下 SQL 语句:

SELECT Customer FROM Orders
WHERE OrderPrice>(SELECT AVG(OrderPrice) FROM Orders)

结果集类似这样:

Customer
Bush
Carter
Adams

count() 函数

COUNT() 函数返回匹配指定条件的行数。

SQL COUNT() 语法

SQL COUNT(column_name) 语法

COUNT(column_name) 函数返回指定列的值的数目(NULL 不计入):

SELECT COUNT(column_name) FROM table_name

SQL COUNT(*) 语法

COUNT(*) 函数返回表中的记录数:

SELECT COUNT(*) FROM table_name

SQL COUNT(DISTINCT column_name) 语法

COUNT(DISTINCT column_name) 函数返回指定列的不同值的数目:

SELECT COUNT(DISTINCT column_name) FROM table_name

注释:COUNT(DISTINCT) 适用于 ORACLE 和 Microsoft SQL Server,但是无法用于 Microsoft Access。

SQL COUNT(column_name) 实例

我们拥有下列 "Orders" 表:

O_Id OrderDate OrderPrice Customer
1 2008/12/29 1000 Bush
2 2008/11/23 1600 Carter
3 2008/10/05 700 Bush
4 2008/09/28 300 Bush
5 2008/08/06 2000 Adams
6 2008/07/21 100 Carter

现在,我们希望计算客户 "Carter" 的订单数。

我们使用如下 SQL 语句:

SELECT COUNT(Customer) AS CustomerNilsen FROM Orders
WHERE Customer='Carter'

以上 SQL 语句的结果是 2,因为客户 Carter 共有 2 个订单:

CustomerNilsen
2
SQL COUNT(*) 实例

如果我们省略 WHERE 子句,比如这样:

SELECT COUNT(*) AS NumberOfOrders FROM Orders

结果集类似这样:

NumberOfOrders
6

这是表中的总行数。

SQL COUNT(DISTINCT column_name) 实例

现在,我们希望计算 "Orders" 表中不同客户的数目。

我们使用如下 SQL 语句:

SELECT COUNT(DISTINCT Customer) AS NumberOfCustomers FROM Orders

结果集类似这样:

NumberOfCustomers
3

这是 "Orders" 表中不同客户(Bush, Carter 和 Adams)的数目。

first() 函数

FIRST() 函数返回指定的字段中第一个记录的值。

提示:可使用 ORDER BY 语句对记录进行排序。

SQL FIRST() 语法

SELECT FIRST(column_name) FROM table_name

SQL FIRST() 实例

我们拥有下面这个 "Orders" 表:

O_Id OrderDate OrderPrice Customer
1 2008/12/29 1000 Bush
2 2008/11/23 1600 Carter
3 2008/10/05 700 Bush
4 2008/09/28 300 Bush
5 2008/08/06 2000 Adams
6 2008/07/21 100 Carter

现在,我们希望查找 "OrderPrice" 列的第一个值。

我们使用如下 SQL 语句:

SELECT FIRST(OrderPrice) AS FirstOrderPrice FROM Orders

结果集类似这样:

FirstOrderPrice
1000

Last() 函数

LAST() 函数返回指定的字段中最后一个记录的值。

提示:可使用 ORDER BY 语句对记录进行排序。

SQL LAST() 语法

SELECT LAST(column_name) FROM table_name

SQL LAST() 实例

我们拥有下面这个 "Orders" 表:

O_Id OrderDate OrderPrice Customer
1 2008/12/29 1000 Bush
2 2008/11/23 1600 Carter
3 2008/10/05 700 Bush
4 2008/09/28 300 Bush
5 2008/08/06 2000 Adams
6 2008/07/21 100 Carter

现在,我们希望查找 "OrderPrice" 列的最后一个值。

我们使用如下 SQL 语句:

SELECT LAST(OrderPrice) AS LastOrderPrice FROM Orders

结果集类似这样:

LastOrderPrice
100

max() 函数

MAX 函数返回一列中的最大值。NULL 值不包括在计算中。

SQL MAX() 语法

SELECT MAX(column_name) FROM table_name

注释:MIN 和 MAX 也可用于文本列,以获得按字母顺序排列的最高或最低值。

SQL MAX() 实例

我们拥有下面这个 "Orders" 表:

O_Id OrderDate OrderPrice Customer
1 2008/12/29 1000 Bush
2 2008/11/23 1600 Carter
3 2008/10/05 700 Bush
4 2008/09/28 300 Bush
5 2008/08/06 2000 Adams
6 2008/07/21 100 Carter

现在,我们希望查找 "OrderPrice" 列的最大值。

我们使用如下 SQL 语句:

SELECT MAX(OrderPrice) AS LargestOrderPrice FROM Orders

结果集类似这样:

LargestOrderPrice
2000

min() 函数

MIN 函数返回一列中的最小值。NULL 值不包括在计算中。

SQL MIN() 语法

SELECT MIN(column_name) FROM table_name

注释:MIN 和 MAX 也可用于文本列,以获得按字母顺序排列的最高或最低值。

SQL MIN() 实例

我们拥有下面这个 "Orders" 表:

O_Id OrderDate OrderPrice Customer
1 2008/12/29 1000 Bush
2 2008/11/23 1600 Carter
3 2008/10/05 700 Bush
4 2008/09/28 300 Bush
5 2008/08/06 2000 Adams
6 2008/07/21 100 Carter

现在,我们希望查找 "OrderPrice" 列的最小值。

我们使用如下 SQL 语句:

SELECT MIN(OrderPrice) AS SmallestOrderPrice FROM Orders

结果集类似这样:

SmallestOrderPrice
100

sum() 函数

SUM 函数返回数值列的总数(总额)。

SQL SUM() 语法

SELECT SUM(column_name) FROM table_name

SQL SUM() 实例

我们拥有下面这个 "Orders" 表:

O_Id OrderDate OrderPrice Customer
1 2008/12/29 1000 Bush
2 2008/11/23 1600 Carter
3 2008/10/05 700 Bush
4 2008/09/28 300 Bush
5 2008/08/06 2000 Adams
6 2008/07/21 100 Carter

现在,我们希望查找 "OrderPrice" 字段的总数。

我们使用如下 SQL 语句:

SELECT SUM(OrderPrice) AS OrderTotal FROM Orders

结果集类似这样:

OrderTotal
5700

转载于:https://www.cnblogs.com/youguess/p/4595431.html

SQL--合计函数(Aggregate functions):avg,count,first,last,max,min,sum相关推荐

  1. Database之SQLSever:SQL命令实现四则运算、desc降序、like模糊查询、distinct去重、MAX/MIN/SUM/AVG/COUNT/GROUP/having等案例之详细攻略

    Database之SQLSever:SQL命令实现四则运算.desc降序.like模糊查询.distinct去重.MAX/MIN/SUM/AVG/COUNT/GROUP/having等案例之详细攻略 ...

  2. avg最多用多少列 mysql_MySQL之聚合数据(AVG,COUNT,MAX,MIN,SUM)

    1.首先我们需要了解下什么是聚合函数 聚合函数aggregation function又称为组函数.认情况下 聚合函数会对当前所在表当做一个组进行统计. 2.聚合函数的特点 1.每个组函数接收一个参数 ...

  3. SQL极致优化案例:利用索引特性进行max/min优化

    不要错过更多干货文章,点击上方蓝字关注我们 IS NOT NULL的优化 1. 问题提出 客户系统有这样一条SQL,脱敏后如下: SELECT NVL(MAX(T1.CREATED),SYSDATE) ...

  4. mysql之count,max,min,sum,avg,celing,floor

    系列文章 mysql之创建数据库,创建数据表 mysql之select,insert,delete,update mysql之group by,order by count 计数,经常和group b ...

  5. python min函数 索引_使用列表中的max()/ min()获取返回的max或min项的索引

    Nico Schlöme.. 14 我也对此感兴趣,并使用perfplot(我的宠物项目)比较了一些建议的解决方案. numpy.argmin(x) 对于足够大的列表来说,这是最快的方法,即使从输入l ...

  6. Oracle 聚合函数(Aggregate Functions)说明

    Oracle Aggregate Functions用过很多,官网的说明如下: Aggregate Functions http://docs.oracle.com/cd/E11882_01/serv ...

  7. SQL聚合函数功能和用法解析

    第一部分:介绍SUM和 AV G 我们知道数据库通常包含大量数据,要从海量的数据中找到我们需要的某条记录无异于大海捞针,不过通过SQL语言我们可以找到很多方法从数据库中提取我们要查找的特定数据,就是通 ...

  8. sql isnull函数_SQL ISNULL函数

    sql isnull函数 This article explores the SQL ISNULL function to replace NULL values in expressions or ...

  9. Spark SQL 内置函数(五)Aggregate Functions(基于 Spark 3.2.0)

    前言 本文隶属于专栏<1000个问题搞定大数据技术体系>,该专栏为笔者原创,引用请注明来源,不足和错误之处请在评论区帮忙指出,谢谢! 本专栏目录结构和参考文献请见1000个问题搞定大数据技 ...

最新文章

  1. 串口下载器rts线不接可以吗_【单片机自学】1.单片机的开发环境及下载过程教程...
  2. scrollWidth,clientWidth,offsetWidth的区别
  3. python 状态码转字典文本_python爬虫 处理521状态码
  4. html 新append后的元素如何注册click
  5. Everest 0.6 添加开机自启动程序
  6. 理解 e.clientX,e.clientY e.pageX
  7. GitHub 60000+ Star 登顶,命令行的艺术!
  8. 【内外网映射】通过外网ip来访问虚拟机服务器【转载】
  9. 使用匿名内部类排序对象
  10. Android 百度地图SDK与导航SDK相关问题
  11. 苹果服务器系统状态查询网站,mac电脑服务器地址怎么查看
  12. 视频教程-Nodejs极速入门-Node.js
  13. 从《人民的名义》看声纹识别技术在案件侦查中的应用
  14. dom4j-BackedList排序问题
  15. Power BI项目之某公司内部数据分析
  16. 苹果A13芯片细节曝光,大幅提升AI性能
  17. 使用IDEA工具查看Java类层次结构关系图
  18. 搭建游戏联运系统需要什么条件?
  19. 永信至诚:乌镇世界互联网大会闭幕 网络安全人的使命刚刚启航
  20. java并发编程实战wwj----------第二阶段-------------Worker-Thread-----------------36-37

热门文章

  1. SpringSecurity应用(一)
  2. perl获得当期的日期和时间
  3. 2.3.2 EditText(输入框)详解
  4. Java 25天基础-DAY 05-面向对象-构造函数
  5. mexopenCV的配置学习过程
  6. 《jQuery EasyUI开发指南》——导读
  7. Linux调试登陆Visual Studio
  8. Android SystemClock 应用
  9. 图说:快!快!抢注自己名字的Outlook.com的邮件别名吧
  10. C#中datagirdview表头变换