[高等教育]第3章 数据库与表的基本操作2.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[高等教育]第3章 数据库与表的基本操作2

第三章 数据库与表的基本操作 (二) 数据表的统计计算 3.5 数据表的统计计算 在处理表时经常要运算数值型字段,这些可通过统计命令来完成。 例如,某考试成绩表需要计算不及格人数、平均成绩等。 累加求和及求平均值 3.5.1 累加求和及求平均值 对记录横向求和及统计,可用前面的REPLACE命令完成。 对记录纵向求和及统计,可以用累加求和及求平均值命令实现。 累加求和及求平均值 [格式]SUM|AVERAGE[字段表达式表][范围] [FOR条件式][WHILE条件式] [TO 内存变量名表]|[TO数组变量名] [TO PRINTER] [功能]对当前数据表中指定范围内满足条件的记录,进行纵向求和(SUM)或求平均值(AVERAGE)。 累加求和及求平均值 说明: ① 表达式表指定进行求和(或求平均值)的字段表达式或字段名, 如果省略,则对所有数值型字段求和(求平均值)。 内存变量个数要与字段名表数量一致,其间都用逗号分隔。 累加求和及求平均值 ② 缺省范围和条件短语,默认对所有记录运算。 ③ TO:将求和结果存入内存变量或数组中。不选择该项时只显示结果,但不保存。 ④ [TO PRINTER]:打印结果。 累加求和及求平均值 举例:对Rsgz.dbf表所有数值字段求和。 USE Rsgz SUM 求和结果如下图所示: 累加求和及求平均值 再例:对Rsgz.dbf所有数值字段求平均值。 USE Rsgz AVERAGE 求平均值结果如下图所示: 统计记录个数 3.5.2 统计记录个数 [格式]COUNT[范围][FOR条件][WHILE条件][TO内存变量表]|[TO数组变量] [功能]统计当前表中指定范围内符合条件的记录个数。 统计记录个数 说明:缺省范围和条件短语,默认为ALL。 不指定变量时,统计结果显示在状态栏。 其他短语同SUM命令。 举例: USE rsda COUNT FOR 性别=男 AND 职称=教授 TO nanis ? nanjs 统计记录个数 显示结果如下图所示。 分类汇总 3.5.3 分类汇总 它是对已建立索引并指定主控索引的表, 按关键字分类求和。 分类汇总 [格式]TOTAL ON索引字段TO新表名 [FIELDS字段名表][范围][FOR条件1][WHILE条件2] [功能]对当前表有相同索引字段值的所有连续记录求和,将和作为一条新记录送入新表。 分类汇总 说明: ① 当前表必须按索引字段索引过,并指定该索引为主控索引,从而保证有相同关键字值的记录连续。 因为分类汇总是对相同关键字值的连续记录求和。 主控索引就是为了分类。 分类汇总 ② FIELDS:给出分类求和字段,这些字段只能是数值或货币型。 如果缺省,则对当前表所有数值或货币型字段分类求和。 不管是否选FIELDS,新表与当前表结构相同。 分类汇总 ③ 将当前表关键字值相同的连续记录求和生成新表中的一条记录R; R的非数值、非货币型字段的值取自源表首记录相应字段,参加求和的字段值=求和结果。 分类汇总 举例:现有商品销售表(SPXS.dbf), 表结构和记录内容如下: 分类汇总 执行TOTAL命令按商品名称分类汇总: USE SPXS TOTAL ON 商品名称 TO SPSL1 USE SPSL1 显示分类汇 总表的记录内 容如图,每种 商品汇总为一 条记录。 分类汇总 若按月份分类汇总: USE SPXS TOTAL ON 月份 TO SPSL2 USE SPSL2 一个月份汇总为一条记录,如图所示。 数据交换 3.6 数据交换 数组可为表操作提供极大的方便,尤其是在与表间进行交换时。 数据交换 3.6.1 数组与表的数据交换 1.将表中记录保存到数组中 [格式一]SCATTER[FIELDS字段表] [MEMO] TO 数组 [格式二]COPY TO ARRAY数组[FIELDS字段表][范围][FOR逻辑表达式] [功能]将当前表的某些记录存储在数组中。 数据交换 说明: ① 格式一,是将当前表的当前记录存入一维数组中, 格式二,是将当前表指定的多条记录存入二维数组中。 数组可事先定义,也可不定义。 若未定义,系统将自动建立与字段个数相同的一维或二维数组。 数据交换 ② FIELDS:指定哪些字段存入数组,缺省为所有字段。 ③ 格式一:若选MEMO,可将备注字段存入数组,并忽略通用型字段。 格式二:忽略备注、通用字段。 ④ 格式二范围和FOR短语用来指定范围内满足条件的记录,缺省为ALL。 数据交换 举例: USE rsda GOTO 2 SCATTER TO a 将表中第二条记录存入数组a,

文档评论(0)

ctuorn0371 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档