MySQL数据库基础——高级查询

 MySQL数据库入门——day08

 高级查询

一、聚合函数:

在实际开发过程中经常需要对数据进行统计,为此MySQL中提供了一些函数来实现某些功能如下表所示:


聚合函数

1.COUNT()函数:

COUNT()函数用于统计记录的条数,语法格式如下:

SELECT COUNT(*) FROM 表名;


2.SUM()函数:

SUN()函数是求和函数,用于统计某个字段所有值的总和,语法格式如下:

SELECT SUM(字段名) FROM 表名;


3.AVG()函数:

AVG()函数用于求出某个字段所有值的平均值,语法格式如下:

SELECT AVG(字段名) FROM 表名;


4.MAX()函数:

MAX()函数用于求出某个字段所有值中的最大值,语法格式如下:

SELECT MAX(字段名) FROM 表名;


5.MIN()函数:

MIN()函数用于求出某个字段所有值中的最小值,语法格式如下:

SELECT MIN(字段名) FROM 表名;


二、对查询结果进行排序:

我们在查询数据时,查询的结果是无序的,或不是用户所期望的。此时,可是使用ORDER BY 对结果进行排序,语法格式如下:

SELECT 字段名1,字段名2,...

FROM 表名

ORDER BY 字段名1 [ASC | DESC],字段名2 [ASC | DESC],...;

ASC关键字表示按照升序进行排序,DESC关键字表示按照降序进行排序。在默认情况下按照ASC方式进行排序。


三、分组查询:

在MySQL中可以使用GROUP BY 被某个字段或者多个字段中的值进行分组,字段值相同的为一组,其语法格式如下:

SELECT 字段名1,字段名2,...

FROM 表名

GROUP BY 字段名1,字段名2,...[HAVING];


1.单独使用GROUP BY分组:

单独使用DROUP BY关键字进行分组,查询的是每个分组中的第一条记录。

2.GROUP BY和聚合函数一起使用:

GROUP BY与聚合函数一起使用,可以统计出某个或者某些字段在一个分组中的最大值、最小值、平均值等。语法格式如下:

SELECT COUNT(*),字段名 FROM 表名 GROUP BY 字段名;

上述语法格式表示,对“表名”表按照“字段名”字段中的不同值进行分组,并通过COUNT()函数统计出“字段名”不同分组的个数。


3.CROUP BY和HAVING关键字一起使用:

HAVING关键字 与 WHERE关键字作用相同,都可用于设置条件表达式对查询结果进行过滤。但HAVING关键字后可以使用聚合函数,而WHERE关键字不能。

SELECT COUNT(*),字段名 FROM 表名 GROUP BY 字段名 HAVING 条件表达式;

上述语法格式表示,对“表名”表按照“字段名”字段中的不同值进行分组,并通过COUNT()函数统计出“字段名”不同分组的个数,且需要满足条件表达式才能查询出来。