第12章:汇总数据

表名:products  字段:product_id、product_name、product_price、vend_id(供应商)

12.1聚集函数:

我们常常需要汇总数据,而不是把数据检索出来,MySQL提供了专门的函数。

检索例子:

  • 确定表中行数
  • 获得表中行组的和
  • 找出表列

MySQL提供了5个聚集函数。

聚集函数:运行在行组上,计算和返回单个值的函数。

函数

说明

AVG()

返回某列的平均值

COUNT()

返回某列的行数

MAX()

返回某列的最大值

MIN()

返回某列的最小值

SUM()

返回某列值之和

12.1.1AVG()函数:

查出所有产品价格的平均值

SELECT AVG(product_price) AS avg FROM products

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

12.1.2COUNT()函数:

COUNT()有两种用法:

  • COUNT(*)对表中所有行的数目进行计数。
  • COUNT(column)对某一列的行的数目进行计数。

返回所有产品的数目:

SELECT COUNT(*) FROM products

返回供应商所在行的数目:

SELECT COUNT(vend_id) FROM products

注:COUNT(column)如果指定某一列,如果列上有null,则会忽略该行;但是COUNT(*)不会。

MAX():求某一列上的最大值(最大数值或日期,对于文本数据返回最后一行,会自动忽略null值行)。

MIN():求某一列上的最小值(最小值与最小日期,对于文本数据返回第一行,会自动忽略null值行)。

SUM():求某一列上的所有值之和(会自动忽略null值行)。

12.2聚集不同值:

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

  • 对所有的行执行计算,指定ALL参数(默认指定,也就是说不需要指定)
  • 对包含不同的值,指定DISTINCT参数

查找所有不同价格的价格平均值

SELECT AVG(DISTINCT product_price) FROM products

注:如果指定列名,则DISTINCT只能用于COUNT()。

12.3组合聚集函数:

示例:

SELECT AVG(product_price) AS avg,COUNT(product_id) AS count,
MAX(product_price) AS max,MIN(product_price) AS min, SUM(product_price) AS sum FROM products

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏IT技术精选文摘

10分钟让你明白MySQL是如何利用索引的

一、前言 在MySQL中进行SQL优化的时候,经常会在一些情况下,对MySQL能否利用索引有一些迷惑。 譬如: MySQL 在遇到范围查询条件的时候就停止匹配了...

2297
来自专栏Java成神之路

Oracle学习笔记_02_基本SQL

        SQL 语言大小写不敏感。         SQL 可以写在一行或者多行 关键字不能被缩写也不能分行         各子句一般要分行写。 ...

852
来自专栏Java成神之路

Oracle学习笔记_03_单行函数

单行函数:        操作数据对象        接受参数返回一个结果 只对一行进行变换  每行返回一个结果        可以转换数据类型      ...

783
来自专栏C# 编程

5 - SQL Server 2008 之 四则运算、比较运算、逻辑运算及字符连接运算

四则运算如下: --加减乘除(+、-、*、\、%)取余运算 SELECT --加法运算 3+5 AS 加法结果1, 3.5+6 AS 加法结果2,...

2770
来自专栏乐沙弥的世界

PL/SQL变长数组

  PL/SQL变长数组时PL/SQL集合数据类型中的一种,其使用方法与PL/SQL嵌套表大同小异,唯一的区别则是变长数组的元素的最大个数是有限 制的。也即是说...

702
来自专栏Python爬虫实战

MySQL 从零开始:07 数据搜索与搜索

数据库表中包含了很多数据,一般我们不会检索表中的所有行。通常会根据特定的条件来提取出表的子集,此时我们需要指定搜索条件(search criteria),搜索条...

1032
来自专栏栗霖积跬步之旅

第六章:过滤数据

表名:products 字段:product_id、product_name、product_price、vend_id(供应商) 1.使用WHERE子句:...

1806
来自专栏互联网开发者交流社区

用于 SELECT 和 WHERE 子句的函数

1323
来自专栏杨龙飞前端

z-index失效的原因

1293
来自专栏数据结构与算法

洛谷P2468 [SDOI2010]粟粟的书架(二分答案 前缀和 主席树)

给出一个矩形,每个点都有一些值,每次询问一个子矩阵最少需要拿几个数才能构成给出的值

691

扫码关注云+社区