数据库基础(聚合函数 分组 排序)
1.聚合函数
聚合函数是SQL中的一类特殊函数,它们用于计算一组数据的集合并返回单个值。这些函数通常用于数据的统计分析,如个数的统计、某列数据的求和、最大值、最小值以及平均值等。
COUNT
说明:返回查询结果中数据的数量。如果指定了DISTINCT关键字,则只计算不同值的数量。
示例:SELECT COUNT(*) FROM employees; 返回employees表中的记录数。
SUM
说明:返回查询结果中数据的总和。如果列中的数据不是数字类型,则该函数没有意义。如果指定了DISTINCT关键字,则只计算不同值的总和。
示例:SELECT SUM(salary) FROM employees; 返回employees表中所有员工的工资总和。
AVG
说明:返回查询结果中数据的平均值。如果列中的数据不是数字类型,则该函数没有意义。如果指定了DISTINCT关键字,则只计算不同值的平均值。
示例:SELECT AVG(salary) FROM employees; 返回employees表中所有员工工资的平均值。
MAX
说明:返回查询结果中的最大值。如果列中的数据不是可以比较的类型(如数字或日期),则该函数没有意义。如果指定了DISTINCT关键字,则只在不同值中查找最大值。
示例:SELECT MAX(salary) FROM employees; 返回employees表中工资最高的值。
MIN
说明:返回查询结果中的最小值。与MAX函数类似,它也只适用于可以比较的数据类型。如果指定了DISTINCT关键字,则只在不同值中查找最小值。
示例:SELECT MIN(salary) FROM employees; 返回employees表中工资最低的值。
2.分组
分组函数常与 GROUP BY
子句结合使用 按某列或多列进行分组 然后对每个组应用分组函数
SELECT column1, aggregate_function(column2), ...
FROM table_name
[WHERE condition]
GROUP BY column1, column2, ...
[HAVING group_condition]
[ORDER BY column1, column2, ... [ASC|DESC]];
SELECT
:指定要查询的列,通常包含分组列和聚合函数。聚合函数包括SUM()
、COUNT()
、AVG()
、MAX()
、MIN()
等。FROM
:指定要查询的表名。WHERE
:可选子句,用于筛选满足特定条件的行,在分组之前进行过滤。GROUP BY
:指定要分组的列,可以是一个或多个列。HAVING
:可选子句,用于筛选满足特定条件的分组,在分组之后进行过滤。ORDER BY
:可选子句,用于对结果集进行排序,可以指定升序(ASC
)或降序(DESC
)。
三.排序
MySQL 里使用 ORDER BY
子句来实现排序,可按照一列或多列对查询结果进行升序或降序排列。
-
使用ORDER BY 字句排序,在其后面加所需字段
-
ASC(ascend): 升序
-
DESC(descend): 降序
-
-
ORDER BY 字句在SELECT语句的结尾