| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1024 人关注过本帖
标题:请教,怎么统计间隔的记录数
只看楼主 加入收藏
scilent
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
帖 子:285
专家分:1399
注 册:2011-8-9
收藏
得分:4 
我也想了个笨方法
SELECT 序号 FROM test WHERE 标记=" " INTO ARRAY xuhao
zs=ALEN(xuhao)
start=xuhao(1)
maxjiange=0
FOR jsq=2 TO zs
         jiange=xuhao(jsq)-xuhao(jsq-1)
         IF jiange>1
            testjiange=xuhao(jsq-1)-start+1
            start=xuhao(jsq)
            maxjiange=MAX(maxjiange,testjiange)
         endif
ENDFOR
   ?"最大间隔数为"+STR(maxjiange)

在没有路的地方走一条路,让别人有路可走
2011-09-09 12:20
scilent
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
帖 子:285
专家分:1399
注 册:2011-8-9
收藏
得分:0 
如果用这种方法又简化一点儿了
SELECT 序号 FROM test WHERE 标记="T" INTO ARRAY xuhao
zs=ALEN(xuhao)
maxjiange=0
FOR jsq=2 TO zs
         jiange=xuhao(jsq)-xuhao(jsq-1)-1
         maxjiange=max(maxjiange,jiange)
ENDFOR
   ?"最大间隔数为"+STR(maxjiange)

在没有路的地方走一条路,让别人有路可走
2011-09-09 12:40
scilent
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
帖 子:285
专家分:1399
注 册:2011-8-9
收藏
得分:0 
test.zip (670 Bytes)

这是在sql中 用两个语句实现茵梦湖大侠的效果
呵呵,为了响应版主号召,授渔而不授鱼,特上传附件,请想一想再看答案

在没有路的地方走一条路,让别人有路可走
2011-09-09 13:46
atsnow
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2011-8-13
收藏
得分:0 
爱死你们了!搞定了,谢谢
2011-09-09 15:21
dapinetree
Rank: 2
等 级:论坛游民
帖 子:29
专家分:34
注 册:2011-9-11
收藏
得分:4 
假设 你的序号字段是数值型, 那么 scan/endscan 方法的代码如下:
set deleted on
lsmax=0
use 你的表名
delete for !标志=.t.
go top
xh1=序号
skip
do while !eof(()
   xh2=序号
   if lsmax<xh2-xh1
      lsmax=xh2-xh1
   endif
   xh1=序号
   skip
enddo
recall all
set deleted off
messageb(" 最大间隔为: "+alltrim(str(lsmax)),0,"")
2011-09-11 22:35
afeng58688
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2011-11-30
收藏
得分:0 
学习
2011-12-01 09:02
快速回复:请教,怎么统计间隔的记录数
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016742 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved