3.4 数据统计与汇总
在VFP中,我们可以对表中相应的记录进行统计,对数值型数据还可以进行求和、求平均值以及分类汇总等计算。
3.4.1 数据统计
1.计数命令
【命令格式】 COUNT [范围][FOR/WHILE<条件>] [TO <内存变量>]
【功能】 统计满足条件的记录数。
【例3.8】 分别统计TEACHER表中男、女教工人数。
USE TEACHER COUNT FOR 性别="男" TO MEN COUNT FOR 性别="女" TO WOMEN ?"男教工人数为:",MEN ?"女教工人数为:" ,WOMEN ?"男女教工人数为:",MEN+WOMEN
显示结果如下:
2.求和命令
【命令格式】 SUM [数值型表达式表][范围][FOR/WHILE <条件>][TO <内存变量表>]
【功能】 对当前表中的数值型字段的表达式求和。
【例3.9】 对TEACHER表中的月收入求和。
USE TEACHER SUM 月收入
3.求平均数命令
【命令格式】 AVERAGE [数值型表达式表][范围][FOR/WHILE <条件>][TO <内存变量表>]
【功能】 对当前表中的数值型字段的表达式求平均数。
【例3.10】 对TEACHER表中的月收入求平均数。
USE TEACHER AVERAGE 月收入
4.计算命令
【命令格式】 CALCULATE <表达式表> [范围][FOR/WHILE <条件>][TO <内存变量表>]
【功能】 计算表达式的值。
【说明】 表达式表中的函数有计数函数CNT()、求和函数SUM(<数值型表达式>)、求平均数函数AVG(<数值型表达式>)、最大值函数MAX(<表达式>)、最小值函数MIN
(<表达式>)、净现值函数NPV(<数值型表达式>)和标准差函数STD(<数值型表达式>)等系统函数。
【例 3.11】 计算TEACHER表的月收入平均数、合计数、最大值、最小值,并统计记录个数。
USE TEACHER CALCULATE AVG(月收入),SUM(月收入),CNT(),MAX(月收入),MIN(月收入)
结果显示如下:
3.4.2 数据汇总
数据表的汇总又称同类项合并、分类求和等,它可以按照关键字值的不同来对数值型字段进行分类求和。
【命令格式】 TOTAL TO <文件名> ON <关键字> [范围][FIELDS <N型字段名表>] [FOR/WHILE<条件>]
【功能】 在当前表中,对关键字相同的记录的数值型字段求和,并将结果存入一个新表。
【说明】 在分组求和之前须按分组关键字段建立索引。
【例3.12】 对TEACHER表按教研室分组求和,将分组求和结果放在TEMP中。
USE TEACHER INDEX ON 教研室 TO CTEACHER TOTAL TO TEMP ON 教研室 USE TEMP LIST
显示结果如下: