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。