回复 43楼 sdta
USE ee
INDEX on 班级+STR(1000-总分) TO bjzf && 以下为处理班级名次
GO TOP
DO whil NOT EOF()
bj=班级
i=1
j=1
DO whil NOT EOF() AND 班级=bj &&当班级为同一班级时,只对本班级的名次进行操作
zf=总分
REPLACE 班级名次 WITH i
j=0 &&此为计算考分相同的考生数
DO whil NOT EOF() AND 班级=bj AND 总分=zf &&考分相同时名次相同
REPLACE 班级名次 WITH i
j=j+1
SKIP
ENDDO
i=i+j &&当考分不相同时,增加计数
ENDDO
ENDDO && 以上为处理班级名次
INDEX on STR(1000-总分) TO bjzf && 以下为处理年级名次
GO TOP
i=1
DO whil NOT EOF()
zf=总分
REPLACE 年级名次 WITH i
j=0
DO whil NOT EOF() AND 总分=zf &&处理考分相同时的名次
REPLACE 年级名次 WITH i
j=j+1
SKIP
ENDDO
i=i+j &&当考分不相同时,增加计数
ENDDO && 以上为处理年级名次