SQL聚合函数

2023-05-10 10:45:47 浏览数 (1)

SUM 函数

SUM 函数用于计算数值列的总和。语法如下:

代码语言:javascript复制
SELECT SUM(column_name) FROM table_name;

其中,column_name 是要计算总和的列名,table_name 是要查询的表名。

例如,以下 SQL 语句使用 SUM 函数计算订单表中所有订单的总金额:

代码语言:javascript复制
SELECT SUM(amount) FROM orders;

AVG 函数

AVG 函数用于计算数值列的平均值。语法如下:

代码语言:javascript复制
SELECT AVG(column_name) FROM table_name;

其中,column_name 是要计算平均值的列名,table_name 是要查询的表名。

例如,以下 SQL 语句使用 AVG 函数计算商品表中所有商品的平均价格:

代码语言:javascript复制
SELECT AVG(price) FROM products;

MAX 函数

MAX 函数用于计算数值列的最大值。语法如下:

代码语言:javascript复制
SELECT MAX(column_name) FROM table_name;

其中,column_name 是要计算最大值的列名,table_name 是要查询的表名。

例如,以下 SQL 语句使用 MAX 函数计算员工表中年龄的最大值:

代码语言:javascript复制
SELECT MAX(age) FROM employees;

MIN 函数

MIN 函数用于计算数值列的最小值。语法如下:

代码语言:javascript复制
SELECT MIN(column_name) FROM table_name;

其中,column_name 是要计算最小值的列名,table_name 是要查询的表名。

例如,以下 SQL 语句使用 MIN 函数计算客户表中年龄的最小值:

代码语言:javascript复制
SELECT MIN(age) FROM customers;

COUNT 函数

COUNT 函数用于计算指定列或行的行数。语法如下:

代码语言:javascript复制
SELECT COUNT(column_name) FROM table_name;

其中,column_name 是要计算行数的列名,table_name 是要查询的表名。如果要计算整个表的行数,则可以将 column_name 替换为星号(*)。

例如,以下 SQL 语句使用 COUNT 函数计算订单表中的行数:

代码语言:javascript复制
SELECT COUNT(*) FROM orders;

GROUP BY 子句

GROUP BY 子句用于将结果集按指定列进行分组。语法如下:

代码语言:javascript复制
SELECT column_name, SUM(column_name2) FROM table_name GROUP BY column_name;

其中,column_name 是用于分组的列名,column_name2 是要计算总和的列名,table_name 是要查询的表名。

例如,以下 SQL 语句使用 GROUP BY 子句按照产品类型分组,并计算每个类型的平均价格:

代码语言:javascript复制
SELECT type, AVG(price) FROM products GROUP BY type;

HAVING 子句

HAVING 子句用于在 GROUP BY 子句之后筛选分组。它允许我们在分组后筛选结果集,而不是在 WHERE 子句中对单个行进行筛选。语法如下:

代码语言:javascript复制
SELECT column_name, SUM(column_name2) FROM table_name GROUP BY column_name HAVING SUM(column_name2) > value;

其中,column_name 是用于分组的列名,column_name2 是要计算总和的列名,table_name 是要查询的表名,value 是要进行筛选的值。

例如,以下 SQL 语句使用 HAVING 子句筛选出订单表中,金额大于 1000 的订单数量:

代码语言:javascript复制
SELECT customer_id, COUNT(*) FROM orders GROUP BY customer_id HAVING SUM(amount) > 1000;

DISTINCT 关键字

DISTINCT 关键字用于从结果集中筛选出唯一的值。语法如下:

代码语言:javascript复制
SELECT DISTINCT column_name FROM table_name;

其中,column_name 是要查询的列名,table_name 是要查询的表名。

例如,以下 SQL 语句使用 DISTINCT 关键字查询订单表中唯一的客户 ID:

代码语言:javascript复制
SELECT DISTINCT customer_id FROM orders;

组合聚合函数

我们还可以组合多个聚合函数来实现更复杂的数据分析。例如,以下 SQL 语句使用 COUNT 和 AVG 函数组合计算客户表中每个城市的客户数量和平均年龄:

代码语言:javascript复制
SELECT city, COUNT(*) AS count, AVG(age) AS average_age FROM customers GROUP BY city;

在这个例子中,我们使用 COUNT 函数计算客户数量,AVG 函数计算平均年龄,并将它们分别命名为 count 和 average_age。

sql

0 人点赞