标题:求字段中的最大值、最小值、不重复值个数等
只看楼主
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:0 
回复 20楼 yd1954
先回答我的问题,看19楼的回复
2021-12-16 20:16
yd1954
Rank: 2
来 自:辽宁沈阳
等 级:论坛游民
帖 子:143
专家分:21
注 册:2016-7-1
得分:0 
回复 21楼 吹水佬

n1  n5
80  11
80  22
80  33
98  44
这种情况的n1=80的下一行n5是不是:22、33、44

2021-12-16 21:55
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:0 
没校对,看对否

程序代码:
cDZ = "n1n5"
dbfFile = cDZ + ".dbf"
tmpFile = "tmp.dbf"
COPY FILE (dbfFile) TO (tmpFile)
USE (tmpFile) IN 0 ALIAS a
USE (tmpFile) IN 0 ALIAS b AGAIN
GO BOTTOM 
SCATTER FIELDS qihao,h1,h2,h3 TO arr
SELECT a
SET RELATION TO RECNO()+1 INTO "b"  &&当前行与下一行关联
REPLACE ALL a.n5 WITH b.n5  &&将下一行的n5放到当前行的n5
SET RELATION TO
SELECT n1,n5,COUNT(*) cnt FROM a WHERE BETWEEN(n1,80,188) GROUP BY n1,n5 INTO CURSOR t1 &&按n1n5分类统计记录数
SELECT arr[1] qihao, arr[2] h1, arr[3] h2, arr[4] h3, n1,cDZ zd,;
        MAX(n5) 最大值,;
        MIN(n5) 最小值,;
        SUM(cnt) 多少个值,;
        SUM(IIF(cnt==1,1,0)) 多少个不重复;
    FROM t1;
    GROUP BY n1;
    INTO CURSOR t2 READWRITE 
SELECT * FROM t2

2021-12-17 11:22



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-507863-1-1.html




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

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