数据库学习(四)聚合函数

聚合函数 / 分组函数

AVG (columname)         返回指定列的平均值
MAX (columname)         返回指定列的最大值
MIN (columname)         返回指定列的最小值
SUM (columname)         返回指定列的总值
COUNT    
    
COUNT (*)        统计所有行个数,包括重复行和空值得行
    
COUNT (columname)    统计指定列非空值的个行数
    
COUNT (DISTINCR columname)    统计指定列中 非重复,非空值的行个数    


GROUP BY 子句
    用于将信息表划分为组,对查询结果按组进行聚合运算,为每组返回一个结果。
HAVING 子句
    用来指定 
GROUP BY 子句的检索条件。


这几个函数非常重要,多练习,具体参考

http://blog.itpub.net/29785807/viewspace-1279475/

### 数据库聚合函数概述 聚合函数是对多行数据执行计算并返回单个结果的特殊SQL函数[^2]。这类函数广泛应用于数据分析和数据库管理领域,能够有效汇总、分析和处理大规模的数据集合。 #### 常见的聚合函数 以下是几种常见于不同数据库系统的聚合函数: - **COUNT()**: 计算指定列中的非NULL值的数量。 - **SUM()**: 对数值型字段求和。 - **AVG()**: 返回数值列的平均值。 - **MAX()** 和 **MIN()**: 分别获取某一列的最大值和最小值。 这些功能不仅限于特定平台,在多种关系型数据库管理系统(RDBMS)中均能找到相似实现方式,比如梧桐数据库、MySQL以及OpenGauss等系统都支持上述提到的标准聚合操作[^1][^3]。 #### 实际应用案例 为了更好地理解如何运用这些工具来解决实际问题,下面给出几个具体的例子说明怎样通过编写SQL语句来进行有效的数据挖掘工作。 ##### 示例一:统计学生总数 假设有一个名为`students`的学生信息表格,其中包含有学号(`id`)和其他个人信息字段。要得到当前注册学生的总人数可以这样写查询命令: ```sql SELECT COUNT(*) AS total_students FROM students; ``` 这段代码会返回整个表内记录条目的数量作为输出结果,并将其命名为'total_students'以便阅读。 ##### 示例二:计算课程成绩平均分 如果存在一张存储考试分数详情的成绩表`scores`,它至少应该有两个主要属性——科目名称(subject_name)及对应的得分(score),那么可以通过如下指令获得每门课目的平均得分情况: ```sql SELECT subject_name, AVG(score) as average_score FROM scores GROUP BY subject_name; ``` 这里使用了`GROUP BY`关键字按照不同的学科分类整理原始资料,再配合`AVG()`方法得出各科目的平均表现状况。 ##### 示例三:查找最高工资员工 考虑一个企业内部的人力资源档案(employee_records),里面记载着职员姓名(name),职位(position),还有月收入(monthly_salary)等相关细节。想要找出公司里谁拿得最多,则可采用这样的策略: ```sql SELECT name, position, MAX(monthly_salary) as top_salary FROM employee_records; ``` 需要注意的是此表达式仅适用于单一最大值检索场景;当有多位同事共享相同最高的薪资水平时,可能还需要进一步优化逻辑结构以确保准确性。 ### 结论 综上所述,掌握好聚合函数的应用技巧对于提高工作效率至关重要。无论是简单的计数还是复杂的业务报表生成任务都能借助此类内置机制轻松完成。当然除了文中列举的基础形式外还有很多高级特性等待探索学习
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值