当前位置: 首页 > article >正文

SQL第9课——汇总数据

(9.21-----9.25在打研究生数模比赛,所以断更了几天,sorry)

SQL的聚集函数,如何利用它们汇总表的数据

9.1 聚集函数

汇总数据但是不需要实际检索出来,SQL查询可用函数检索数据,以便分析和报表生成。

聚集函数(aggregate function):对某些行运行的函数,计算并返回一个值。

SQL聚集函数(各种主要SQl实现中相当一致)
函数说明
avg()返回某列的平均值
count()返回某列的行数
max()列的最大值
min()列的最小值
sum()某列之和

9.1.1 avg()函数

对行数计数,计算列值之和,得到列的平均值,返回所有列的平均值。

也可以返回特定列或行的平均值。

返回包含Products表中所有产品的平均价格。

下例返回特定供应商所提供产品的平均价格:

!!!avg()函数只能计算一个列的平均值,计算多个列,就需要多个avg()函数;列名必须作为函数参数给出。avg()函数忽略列值为null的行。

9.1.2 count()函数

确定表中行的数目或符合特定条件的行的数目。

1. count(*):计算所有行数,不管是不是空值null;

2. count(column): 对特定列中具有值得行进行计数,忽略null值。

下例只对具有电子邮件地址的客户计数:

9.1.3 max()函数

返回指定列中的最大值,要求指定列名。

在用于文本数据时,max()返回按该列排序后的最后一行。max()忽略列值为null的行。

9.1.4 min()函数

在用于文本数据时,min()返回该列排序后最前面一行。

9.1.5 sum()函数

返回指定列值的和(总计):检索所订购物品的总数(所有quantity值之和)

sum(quantity)返回订单中所有物品数量之和,where子句保证只统计某个物品订单中的物品。

sum()也可以用来合计计算值,合计每项物品的item_price*quantity,得出总得订单金额:

sum()函数忽略列值为null的行。

9.2 聚集不同值

以上5个聚集函数都可以如下使用:

1. 对所有行执行计算,指定all参数或不指定参数(因为all是默认行为)

2. 只包含不同的值,指定distinct参数。

使用了distinct参数,平均值只考虑各个不同的价格

distinct只能用于count(),不能用于count(*)。distinct必须使用列名,不能用于计算或表达式;

支持对查询结果的子集进行计算的top和top percent

9.3 组合聚集函数

指定列名包含结果,不能使用表中实际的列名。因为许多SQL实现不支持,可能会产生模糊的错误消息。


http://www.kler.cn/a/327009.html

相关文章:

  • 【图论】——理论基础总结
  • IntelliJ IDEA使用技巧与插件推荐
  • LINUX_Ubuntu终端安装tools的命令
  • 基于 Canal + Elasticsearch 的业务操作日志解决方案
  • 二:MySQL基础---查询专项练习
  • 【初阶数据结构篇】链式结构二叉树(二叉链)的实现(感受递归暴力美学)
  • 命令模式
  • PCL 索引空间采样
  • golang fmt.Sprintf 引用前述变量
  • java将word转pdf
  • python 实现lstm prediction预测算法
  • 【C++】unordered_map(set)
  • 几种常见点云开源库——点云、网格数据结构转换
  • 麒麟桌面系统V10 SP1安装php的达梦数据库扩展
  • latex打出邮箱图标和可点击的orcidID
  • NXP(恩智浦)—MC33PF8200A0ES PMIC芯片详解
  • 【COSMO-SkyMed系列的4颗卫星主要用途】
  • Spring Boot技术:构建高效网上购物平台
  • 高效学习工作SMART原则
  • C++中set集合和Python中set集合的区别
  • 【Golang】关于Go语言数学计算、随机数生成模块--math
  • 微信小程序使用picker,数组怎么设置默认值
  • RabbitMQ MQ的可靠性及消费者的可靠性
  • 【Ubuntu】VMware中虚拟网卡与服务器网卡的绑定
  • XHTML学习
  • MacOS升级Ruby版本详解:步骤、挑战与解决方案