请教一个排名问题
1个年级有10个班级,每个班级进行排名,同分不同名次,比如:90分 89分 88分 88分 87分 87分 87分,排名是1 2 3 4 5 6 7,每个班级都这样排
我提供一个思路,仅供参考:
先按照班级 升序、总分 降序 排序,生成一个新表;再扫描不同班级,分别赋值名次即可。
CREATE CURSOR cj (bj C(2), bh C(4), cj N(3), bjmc N(2)) RAND(-1) * 生成测试数据 FOR i = 1 TO 10 && 10个班 FOR ii = 1 TO 50 && 每个班50人 INSERT INTO cj VALUES (PADL(i, 2, "0"),PADL(i, 2, "0") + PADL(ii, 2, "0"), RAND() * 100, 0) ENDFOR ENDFOR INDEX on bj + STR(100 - cj) TAG px cBj = "" SCAN IF Bj == cBj N1 = N1 + 1 ELSE N1 = 1 ENDIF REPLACE Bjmc WITH N1 cBj = Bj ENDSCAN BROWSE