能不能用一个SQL语句完成?
我运行的结果与tlliqi不一样,怎么回事
T1=SECONDS() CREATE CURSOR Cj (班级 C(5),姓名 C(10),总分 N(4),班级名次 N(6),年级名次 N(6)) =RAND(-1) FOR I=1 TO 10000 FOR J=1 TO 50 INSERT INTO Cj (班级,姓名,总分) VALUES ("B"+PADL(I,4,"0"),SYS(2015),RAND()*100) ENDFOR ENDFOR INDEX ON 班级-STR(总分,4) TAG px DESCENDING * 班级名次 mc=1 && 记录班级名次 nzf=0 && 记录上条记录的总分 cbj="" && 记录班级名称 nrs=1 && 记录班级人数 SCAN IF ALLTRIM(班级)!=cbj STORE 1 TO nrs,mc ELSE IF 总分!=nzf mc=nrs ENDIF ENDIF REPLACE 班级名次 WITH mc nrs=nrs+1 nzf=总分 cbj=ALLTRIM(班级) ENDSCAN SET ORDER TO * 年级名次 INDEX ON -总分 TO px mc=0 nzf=0 nrs=1 SCAN IF 总分!=nzf mc=nrs ENDIF REPLACE 年级名次 WITH mc nrs=nrs+1 nzf=总分 ENDSCAN MESSAGEBOX("共运行:"+TRANSFORM(SECONDS()-t1)+" 秒") BROWSE
[此贴子已经被作者于2016-12-14 08:48编辑过]