SUM 函数用于计算数值列的总和。语法如下:
SELECT SUM(column_name) FROM table_name;
其中,column_name 是要计算总和的列名,table_name 是要查询的表名。
例如,以下 SQL 语句使用 SUM 函数计算订单表中所有订单的总金额:
SELECT SUM(amount) FROM orders;
AVG 函数用于计算数值列的平均值。语法如下:
SELECT AVG(column_name) FROM table_name;
其中,column_name 是要计算平均值的列名,table_name 是要查询的表名。
例如,以下 SQL 语句使用 AVG 函数计算商品表中所有商品的平均价格:
SELECT AVG(price) FROM products;
MAX 函数用于计算数值列的最大值。语法如下:
SELECT MAX(column_name) FROM table_name;
其中,column_name 是要计算最大值的列名,table_name 是要查询的表名。
例如,以下 SQL 语句使用 MAX 函数计算员工表中年龄的最大值:
SELECT MAX(age) FROM employees;
MIN 函数用于计算数值列的最小值。语法如下:
SELECT MIN(column_name) FROM table_name;
其中,column_name 是要计算最小值的列名,table_name 是要查询的表名。
例如,以下 SQL 语句使用 MIN 函数计算客户表中年龄的最小值:
SELECT MIN(age) FROM customers;
COUNT 函数用于计算指定列或行的行数。语法如下:
SELECT COUNT(column_name) FROM table_name;
其中,column_name 是要计算行数的列名,table_name 是要查询的表名。如果要计算整个表的行数,则可以将 column_name 替换为星号(*)。
例如,以下 SQL 语句使用 COUNT 函数计算订单表中的行数:
SELECT COUNT(*) FROM orders;
GROUP BY 子句用于将结果集按指定列进行分组。语法如下:
SELECT column_name, SUM(column_name2) FROM table_name GROUP BY column_name;
其中,column_name 是用于分组的列名,column_name2 是要计算总和的列名,table_name 是要查询的表名。
例如,以下 SQL 语句使用 GROUP BY 子句按照产品类型分组,并计算每个类型的平均价格:
SELECT type, AVG(price) FROM products GROUP BY type;
HAVING 子句用于在 GROUP BY 子句之后筛选分组。它允许我们在分组后筛选结果集,而不是在 WHERE 子句中对单个行进行筛选。语法如下:
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 的订单数量:
SELECT customer_id, COUNT(*) FROM orders GROUP BY customer_id HAVING SUM(amount) > 1000;
DISTINCT 关键字用于从结果集中筛选出唯一的值。语法如下:
SELECT DISTINCT column_name FROM table_name;
其中,column_name 是要查询的列名,table_name 是要查询的表名。
例如,以下 SQL 语句使用 DISTINCT 关键字查询订单表中唯一的客户 ID:
SELECT DISTINCT customer_id FROM orders;
我们还可以组合多个聚合函数来实现更复杂的数据分析。例如,以下 SQL 语句使用 COUNT 和 AVG 函数组合计算客户表中每个城市的客户数量和平均年龄:
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 删除。
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有