以下是引用shonken在2022-7-13 23:26:53的发言:
CREATE CURSOR 测试表 (项目1 Y,项目2 Y,项目3 Y,项目4 Y,项目5 Y,项目6 Y)
INSERT INTO 测试表 VALUES (23,0,11,33,0,25)
INSERT INTO 测试表 VALUES (23,10,21,43,0,15)
INSERT INTO 测试表 VALUES (23,0,0,53,0,55)
Copy To Array gaTemp Fields Like 项目* Next 1
Dimension gaTemp(FCOUNT(),1)
Create Cursor 结果1 (分数 Y )
Append From Array gaTemp
Select 分数 From 结果1 Where 分数#0 Order By 分数 Desc Into Cursor tmp结果
也可以直接在数组处理,无需再通过表来操作
程序代码:
CREATE CURSOR 测试表 (项目1 Y,项目2 Y,项目3 Y,项目4 Y,项目5 Y,项目6 Y)
INSERT INTO 测试表 VALUES (0,0,0,0,0,0)
INSERT INTO 测试表 VALUES (23,1,11,33,2,25)
INSERT INTO 测试表 VALUES (23,10,21,43,0,15)
INSERT INTO 测试表 VALUES (23,0,0,53,0,55)
*GO TOP
Copy To Array gaTemp Fields Like 项目* Next 1
DIMENSION gaTemp[ALEN(gaTemp)]
ASORT(gaTemp,1,-1,1)
n = ASCAN(gaTemp,0)
IF BETWEEN(n,2,ALEN(gaTemp))
DIMENSION gaTemp[n-1]
ELSE
STORE null TO gaTemp
ENDIF
LIST MEMORY LIKE gaTemp
[此贴子已经被作者于2022-7-14 08:27编辑过]