SQL 聚合函数

SQL 聚合函数

在本文中,让我们来探讨一下SQL中的一个新主题,即聚合函数。首先,让我们了解一下什么是聚合函数以及它是如何工作的。

聚合函数是什么?

SQL中的聚合函数是一组特殊的函数,它们对表中的一组行进行操作,并产生一个单一的值作为结果。这些操作用于计算一组数字并生成汇总统计信息,如总和、计数、平均值、最大值和最小值。SQL查询经常使用聚合函数来从一个或多个表中压缩数据。

在分组和聚合之后,聚合函数还可以与HAVING或WHERE子句一起使用,进一步过滤数据。涉及聚合函数的条件可以用于使用HAVING或WHERE子句过滤查询结果。

以下是SQL中一些常用的聚合函数。让我们通过各种示例来了解每个函数。

  1. 计数(Count())
  2. 总和(Sum())
  3. 平均值(Avg())
  4. 最小值(Min())
  5. 最大值(Max())

1. COUNT()

该函数返回表中记录(行)的数量。count()函数的语法如下所示。

语法:

SELECT COUNT(column_name) FROM table_name WHERE condition;

在这里,column_name是你想要了解值的列的名称,而WHERE子句只在提取满足条件的特定数据时使用。

例如:考虑下面的“Student”表,以了解Count()函数的工作原理。

Roll_no Student_name Department
421 Abhishek CSE
422 Praveen EEE
423 Rehman ECE
424 Priyanka IT
425 Anish CSE

学生

select COUNT(*) FROM Student;

输出:

COUNT(*)   
---  
5   

现在,让我们将 WHERE 子句附加到 COUNT() 语句中,并查看其工作原理。

select COUNT(*) FROM Student WHERE Department = 'CSE';

输出:

COUNT(*)   
---  
2   

2. SUM()

这个函数返回表中某一列的所有数值的和。下面是sum ()函数的语法。

语法:

SELECT SUM(column_name) FROM table_name WHERE condition;

在这里,column_name是您想要找到总和的列的名称,并且WHERE子句仅在您想要将SUM()函数应用于满足条件的数据时使用。

例如:观察下面的示例,以了解SUM函数的功能。

表:销售

Product_id Product_name Price
1 Laptop 50000
2 Shirt 500
3 Watch 700
4 Mobile 20000
5 Keyboard 1800
6 Mobile 18000
select SUM(Price) FROM sales;

输出:

SUM(Price)   
---  
91000   

现在让我们计算销售表中存在的手机价格总和。

select SUM(price) FROM sales WHERE Product_name = 'Mobile';

输出:

SUM(Price)   
---  
38000   

3. AVG()

此函数将返回列中所有值的平均值 . AVG()函数的语法如下所示。

语法:

SELECT AVG(column_name) FROM table_name WHERE condition;

这里column_name是你需要计算平均值的列的名称,并且WHERE子句仅在你想要对满足条件的数据应用AVG()函数时使用。

让我们再次考虑一下”sales”表,对其应用AVG()函数,看看它是如何工作的。

表: Sales

Product_id Product_name Price
1 Laptop 50000
2 Shirt 500
3 Watch 700
4 Mobile 20000
5 Keyboard 1800
6 Mobile 18000

现在让我们使用AVG()函数找出所有产品价格的平均值。

SELECT AVG(Price) FROM sales;

输出结果:

AVG(Price)   
---  
15166

现在,让我们使用WHERE子句与AVG()函数的组合来找出只有手机的平均价格。

SELECT AVG(Price) FROM sales WHERE Product_name = 'Mobile';

输出:

AVG(Price)   
---  
19000

4. MIN()

这个函数在满足给定条件的一组行中产生列中的最小值。 MIN()函数的语法如下:

语法:

SELECT MIN(column_name) FROM table_name WHERE condition;

让我们考虑下面的员工表格来说明MIN函数的功能。

员工

emp_id emp_name salary department
155 Hafeez 40000 Sales
156 Krishna 25000 Marketing
157 Kalyan 20000 R&D
158 Kaveri 50000 R&D
159 Lavanya 60000 HR
160 Hrithik 12000 Marketing

现在让我们应用MIN函数来查找薪水列中的最小值。

SELECT MIN(salary) FROM employees;

输出:

MIN(salary)   
---  
12000

现在让我们找出研发部门的最低工资。

SELECT MIN(salary) FROM employees WHERE department = 'R&D';

输出:

MIN(salary)   
---  
20000

5. MAX()

SQL中的MAX函数用于在表中满足给定条件的一组行中返回一个列中的最大值。MAX语法如下:

语法:

SELECT MAX(column_name) FROM table_name WHERE condition;

重新考虑一下员工表来理解MAX函数的功能。

员工

emp_id emp_name salary department
155 Hafeez 40000 Sales
156 Krishna 25000 Marketing
157 Kalyan 20000 R&D
158 Kaveri 50000 R&D
159 Lavanya 60000 HR
160 Hrithik 12000 Marketing

现在让我们使用MAX()函数找出薪资列中的最大值。

select MAX(salary) FROM employees;

输出:

MAX(salary)   
---  
60000 

现在结合WHERE子句和MAX()函数,找出市场营销部门的最高工资。

select MAX(salary) FROM employees WHERE department = 'Marketing';

输出:

MAX(salary)   
---  
25000

这就是关于SQL中的聚合函数的一切。您可以使用聚合函数对一个表或者一组表中的数据进行汇总和分析。它们对于产生汇总统计数据是必要的,并且可以帮助您找到对复杂数据问题的简单答案。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程