第12部分数据表的检索与统计

上传人:人*** 文档编号:585933787 上传时间:2024-09-03 格式:PPT 页数:25 大小:359.03KB
返回 下载 相关 举报
第12部分数据表的检索与统计_第1页
第1页 / 共25页
第12部分数据表的检索与统计_第2页
第2页 / 共25页
第12部分数据表的检索与统计_第3页
第3页 / 共25页
第12部分数据表的检索与统计_第4页
第4页 / 共25页
第12部分数据表的检索与统计_第5页
第5页 / 共25页
点击查看更多>>
资源描述

《第12部分数据表的检索与统计》由会员分享,可在线阅读,更多相关《第12部分数据表的检索与统计(25页珍藏版)》请在金锄头文库上搜索。

1、第第12章章 数据表的检索与统计数据表的检索与统计计算机文化基础计算机文化基础第一节 数据检索的方法一、一、顺序查找法顺序查找法 用用LOCATE(条件定位)命令条件定位)命令二、二、“二分法二分法” 要求待查数据是有序数据要求待查数据是有序数据 学号学号姓名姓名 性别性别出生日期出生日期英语英语991001张名张名男男02/12/7878991002赵霞赵霞女女09/09/7787992001王芳王芳女女01/10/7989993015张亮张亮男男12/23/7790992034李兵李兵男男12/14/7967LOCATE FOR 学号学号=992001数据检索数据检索顺序查找法顺序查找法数

2、据检索数据检索“二分法二分法”由于顺序检索是从第一条记录开始查找,直到找到符合条件的记录,所以,若记录数非常多的话,查找速度就会减慢。为了加快查找速度,可以先把要查找的数据排好先把要查找的数据排好顺序顺序,然后再用“二分法二分法”的原理进行查找。二分法的步骤二分法的步骤:(用A来表示要找的数据)1、将处在中间位置上的数据与A比较,若A中间值,则前半部分的数据可以排除,只留下后半部分数据。(第1次二分)2、将剩下的数据中处在中间位置上的数据与A比较,若A中间值,则后半部分的数据可以排除,只留下前半部分数据(第2次二分)。3、以此类推,直至找到。看图说明:二 分 查 找 法原始数据原始数据原始数据

3、原始数据: : 4 2 12 22 7 9 31 排序后排序后排序后排序后: : 2 4 7 9 12 22 31第一次二分第一次二分第一次二分第一次二分: : 7 7 4 4 取取 7 7 = 7 查找结束查找结束 例如:查找数据例如:查找数据 7因为后半部分数据肯定都大于7。取前半部分第四节第四节 快速检索命令快速检索命令一、一、find命令命令二、二、seek命令命令快速检索命令快速检索命令FIND 命令命令格式:格式: FIND / 说明说明:1 1)本本命命令令只只能能查查找找某某一一字字符符串串或或一一常常数数,并并且且此此字字符符串串(或或常数)所在的字段常数)所在的字段必须事先

4、经过索引,且索引文件已打开。必须事先经过索引,且索引文件已打开。2 2)若搜索成功,则指针指向第一条符合条件的记录)若搜索成功,则指针指向第一条符合条件的记录3 3)此命令)此命令只能找字符串或常数,不能找日期型或逻辑型数据。只能找字符串或常数,不能找日期型或逻辑型数据。4 4)所查找的)所查找的字符串可以不加引号字符串可以不加引号例题例题:例例1 例例2 USE RSDA INDEX ON 姓名姓名 TO XMIDX FIND 张华卫张华卫 (若用:(若用:LOCATE FOR 姓名姓名=张华卫张华卫,要加引号要加引号) DISP例例1:查找:查找张华卫张华卫的记录的记录“二分法”顺序查找法

5、例例2:查找基本工资为:查找基本工资为340的人的人USE RSDAINDEX ON 基本工资基本工资 TO JZIDXFIND 340DISP快速检索命令快速检索命令SEEK 命令命令格式:格式:SEEK 表达式表达式说明:说明: 本命令的语法规则和FIND命令相似,区别在于:1)若查找的是字符串,则字符串应加上引号。2)可以查找一个算术表达式的值。3)可以查找日期型数据注意:注意:用此命令前,也要先用用此命令前,也要先用INDEX建立索引文件建立索引文件例题:例题:例例1 例例2 例例3例例1 :查找张华卫的记录:查找张华卫的记录USE RSDAINDEX ON 姓名姓名 TO X1SEE

6、K 张华卫张华卫 (或:(或:FIND 张华卫)张华卫) DISP“二分法”例例2: 查找基本工资为查找基本工资为340的人的人 USE RSDA INDEX ON 基本工资基本工资 TO X2 SEEK 330+10 (或:或:FIND 340) DISP例例3: 查找出生年月为查找出生年月为 11/23/78 的人的人 USE RSDA INDEX ON 出生年月出生年月 TO X3 SEEK CTOD(11/23/78) DISP 注:不能用注:不能用 FIND CTOD(11/23/78) (将显示数据类型不匹配)(将显示数据类型不匹配)数据统计数据统计 COUNT统计记录的个数SUM

7、求数值型字段的和AVERAGE求数值型字段的平均值TOTAL分类汇总命令数据统计count命令格格式式: count 范范围围 for条条件件to 功能:功能:统计表文件中记录范围内满足给定条件的记录个数。说明:说明:1、若省略范围和For,则统计当前表文件中共有多少条记录。2、若给定了TO内存变量,则将统计结果赋给指定的内存变量。若不给定,则将结果仅在屏幕状态栏上显示。 例题例题: 例1、2 例3例4例例1:统计一下表:统计一下表RSDA.DBF中共有多少条记录中共有多少条记录例例2:统计表:统计表RSDA中共有多少条姓张的人的记录。中共有多少条姓张的人的记录。结果存入内存变量结果存入内存变

8、量ZHANG中。中。例1解答:例2解答:注意:注意:count命令命令是计数命令,执行后输出窗口中无显示内容,只能在状态栏上暂时看到命令执行后的结果。如果想在输出窗口看到结果,可把计数结果存入内存变量,然后显示该变量的结果即可。数据统计count命令举例例例3: 统计一下表文件统计一下表文件RSDA.DBF中共有多少条中共有多少条79年年1月月1日以前出生的记录。并将结果存放入日以前出生的记录。并将结果存放入内存变量内存变量M中。中。注意观察显示命令显示命令的结果。数据统计count命令举例数据统计count命令举例例例4: 说明下列命令的含义说明下列命令的含义nUSE RSDAnSKIPnC

9、OUNT NEXT 3 FOR 奖奖金金=70 .AND. 性性别别=男男 TO Xn? X解答:解答:统计第统计第2-4条记录中奖金在条记录中奖金在70元以上的男职工记录数,元以上的男职工记录数,并将结果存放在内存变量并将结果存放在内存变量x中。中。数据统计SUM命令格式格式: sum sum 范范围围 字字段段名名表表 TO TO for for 功能:功能:对范围内符合条件的记录中给定的数值型字段求和。说明:说明:1、若在字段名表中列出了若干个数值型字段的名字,且且用用逗逗号号隔隔开开,则表表示示分分别别统统计计这这些些数数值值型型字字段段的的总总和和,若想把这些结果放入变量中,则在to

10、后面的内存变量表中列出相应的变量名,(变量名和数值型字段的和要一一对应)。即第一个数值型字段值的总和放入第一个变量中,第二个数值型字段值的总和放入第二个变量中,变量名用逗号隔开。2若不指定字段名,则分别统计表文件中的所有数值型字段的和。例题:例题:例1 例2数据统计SUM命令举例(例1)三条Sum命令的含义:1、统计基本工资字段的总和,将结果放入内存变量gz中。2、分别统计基本工资和奖金字段的总和,将结果分别放入内存变量JBGZ和JJ中。3、统计所有男职工的基本工资字段的总和,将结果放入内存变量yy中。注意观察显示结果注意观察显示结果。数据统计SUM命令举例例例2 统计统计RSDA中男职工的平

11、均奖金。中男职工的平均奖金。(要求用(要求用 COUNT 和和 SUM 命令)命令)S是一个数值型内存变量,表示所有男职工的平均奖金。分析左边的每一条命令,想想为什么。数据统计average命令格式:格式:average 范围范围 to for功能:功能:求符合条件的记录中给定数值型字段的平均值。说明说明:其语法规则与 SUM 命令相同 看图说明: 数据统计average命令统计所有男职工的奖金平均值,并将结果显示在屏幕上。例:用例:用AVERAGE命令做命令做 SUM中的例中的例2数据统计total命令格式格式:totalontofileldsfor功能功能:对表文件中满足for 的记录,按照对某一个或某几个数值型字段分组求和,生成一个新的表文件存放处理结果。说明说明:1、使用此命令之前,必须按“关键字段”先对表文件进行索引或排序。2、汇总时只对所列出的数值型字段进行求和,若省略FIELDS选项,则对表文件中所有数值型字段求和,分类汇总的结果存入新表文件中。3、该命令将具有相同关键字段值的记录进行纵向合并。 看图说明:数据统计total命令举例1、按性别字段建索引。2、按性别分组求出基本工资,奖金字段的总和,将结果放入新的表文件t1.dbf中。3、打开t1.dbf,显示统计结果。 例题:按性别分类汇总例题:按性别分类汇总

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 工作计划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号