前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >SQL聚合函数

SQL聚合函数

原创
作者头像
堕落飞鸟
发布于 2023-05-10 02:45:47
发布于 2023-05-10 02:45:47
1K00
代码可运行
举报
文章被收录于专栏:飞鸟的专栏飞鸟的专栏
运行总次数:0
代码可运行

SUM 函数

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
SELECT SUM(column_name) FROM table_name;

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

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
SELECT SUM(amount) FROM orders;

AVG 函数

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
SELECT AVG(column_name) FROM table_name;

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

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
SELECT AVG(price) FROM products;

MAX 函数

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
SELECT MAX(column_name) FROM table_name;

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

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
SELECT MAX(age) FROM employees;

MIN 函数

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
SELECT MIN(column_name) FROM table_name;

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

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
SELECT MIN(age) FROM customers;

COUNT 函数

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
SELECT COUNT(column_name) FROM table_name;

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

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
SELECT COUNT(*) FROM orders;

GROUP BY 子句

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
SELECT column_name, SUM(column_name2) FROM table_name GROUP BY column_name;

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

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
SELECT type, AVG(price) FROM products GROUP BY type;

HAVING 子句

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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
代码运行次数:0
运行
AI代码解释
复制
SELECT customer_id, COUNT(*) FROM orders GROUP BY customer_id HAVING SUM(amount) > 1000;

DISTINCT 关键字

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
SELECT DISTINCT column_name FROM table_name;

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

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
SELECT DISTINCT customer_id FROM orders;

组合聚合函数

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
SELECT city, COUNT(*) AS count, AVG(age) AS average_age FROM customers GROUP BY city;

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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档