美文网首页MySQL
MySQL——汇总数据和分组数据(八)

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

作者: 开心糖果的夏天 | 来源:发表于2017-06-16 21:14 被阅读188次

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;

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

相关文章

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

    MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。MySQ...

  • MySQL汇总数据和分组数据

    汇总数据 聚集函数 我们经常需要汇总数据而不用把它们实际检索出来,比如: 确定表中行数 获得表中行组的和 找出表列...

  • MySQL 数据汇总&分组顺序

    聚合函数聚合函数在查询时可用于检索数据,以便分析和报表生成,提高工作效率。常见的聚合函数使用场景1.确定表中的行数...

  • SQL必知必会读书笔记10

    分组数据 数据分组 使用SQL聚集函数可以汇总数据,这样我们就能够不检索所有数据就获得最大值和最小值。通过分组可以...

  • 数据透视表

    数据透视表的本质就是按照行和列的不同组合进行数据分组,然后对结果进行汇总;因此,它和数据库中的分组(GROUP B...

  • MySQL实战 目录

    MySQL实战 MySQL实战1 数据库概念介绍MySQL实战2 语法、筛选条件和函数MySQL实战3 分组查询和...

  • MySql 分组数据

    创建分组 分组是在select语句的group by字句中建立的。 举例:select vend_id, coun...

  • MySQL分组数据

    这涉及两个新SELECT语句子句,分别是GROUP BY子句和HAVING子句。 1. GROUP BY ...

  • MySQL分组数据

    1. GROUP BY子句GROUP BY子句可以包含任意数目的列,使得能对分组进行嵌套,嵌套后的分组将在最后的分...

  • 分组的过滤方式

    1、分组 分组允许数据分为多个逻辑组,以便能对每个组进行聚集计算。 GROUP BY子句指示MYSQL分组数据,然...

网友评论

    本文标题:MySQL——汇总数据和分组数据(八)

    本文链接:https://www.haomeiwen.com/subject/lfrmqxtx.html