请教一个排名问题
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
