MySQL——汇总数据和分组数据(八)

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。MySQL 最流行的关系型数据库管理系统,在 WEB 应用方面MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。

MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。

MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策,它分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。由于其社区版的性能卓越,搭配 PHP 和 Apache 可组成良好的开发环境。

汇总数据

一、聚集函数

1.AVG()函数

AVG()通过对表中行数计数并计算特定列值之和,求得该列的平均值。AVG()可以返回所有列的平均值,也可以用来返回特定列或行的平均值。

SELECT AVG(prod_price) AS avg_price FROM products;

此语句的输出如下图所示:



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

2.COUNT()函数

COUNT()函数进行计数。可利用COUNT()函数确定表中行的数目或者符合特定条件的行的数目。
COUNT()函数有两种使用方式:
(1)使用COUNT(*)对表中行的数目进行计数,不管表列中包含的是空值(NULL)还是非空值。
(2)使用COUNT(column)对特定列中具有值的行进行计数,忽略NULL值。

SELECT COUNT(*) AS num_cust FROM customers;

此语句的输出如下图所示:


3.MAX()函数

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

SELECT MAX(prod_price) AS max_price FROM products;

此语句的输出如下图所示:

4.MIN()函数

MIN()返回指定列中的最小值。MIN()要求指定列名。

SELECT MIN(prod_price) AS min_price FROM products;

此语句的输出如下图所示:

5.SUM()函数

SUM()函数用来指定列值的总和。

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

此语句的输出如下图所示:

二、聚集不同值

只包含不同的值,指定DISTINCT参数。

SELECT AVG(DISTINCT prod_price) AS avg_price FROM products WHERE vend_id=1003;

此语句的输出如下图所示:

三、组合聚集函数

SELECT COUNT(*) AS num_items,MIN(prod_price) AS price_min,  MAX(prod_price) AS max_price,AVG(prod_price) AS price_avg FROM products;

此语句的输出如下图所示:

分组数据

一、创建分组

分组是在SELECT语句的GROUP BY子句中建立的。

SELECT vend_id,COUNT(*)AS num_prods FROM products GROUP BY vend_id;

此语句的输出如下图所示:

二、过滤分组

HAVING非常类似于WHERE。唯一的差别就是WHERE过滤行,而HAVING过滤分组。

SELECT cust_id,COUNT(*)AS orders FROM orders GROUP BY cust_id HAVING COUNT(*)>=2;

此语句的输出如下图所示:

SELECT vend_id,COUNT(*) AS num_prods FROM products WHERE prod_price>=10 GROUP BY vend_id HAVING COUNT(*)>=2;

此语句的输出如下图所示:

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • SQL与MySQL简介 数据库基础 从SQL的角度来看,数据库就是一个以某种有组织的方式存储的数据集合。我们可以采...
    heming阅读 3,171评论 1 8
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,778评论 18 399
  • 什么是数据库? 数据库是存储数据的集合的单独的应用程序。每个数据库具有一个或多个不同的API,用于创建,访问,管理...
    chen_000阅读 4,060评论 0 19
  • SQL SELECT 语句 一、查询SQL SELECT 语法 (1)SELECT 列名称 FROM 表名称 (2...
    有钱且幸福阅读 5,743评论 0 33
  • 夏天 老师讲着课 头上的风扇不停的转着 时不时抬头看看什么时候轮到我 我们都摊塌在课桌上 应征了数学老师的话 荒废...
    鬼头T阅读 178评论 0 1