回复 3楼 kqgsww
是啊,就是因为四舍五入的问题,把这个东西搞的麻烦死了,我又重新弄了一段代码,应该可以实现了。。。
CLOSE DATABASES all
use test
SELECT * FROM test ORDER BY bydf
DESC INTO TABLE tmp
SELECT tmp
count to a
a_yx=round(a*30/100,0)
a_lh=round(a*40/100,0)
a_hg=round(a*30/100,0)
b=a-a_yx-a_lh-a_hg
IF b<0
a_hg=a_hg-1
ELSE
IF b>0
a_hg=g_hg+1
ENDIF
ENDIF
FOR a1=1 TO a
GO a1
c=xm
IF a1<=a_yx
UPDATE test SET dc='优秀' WHERE xm=c
ELSE
IF a1>a_yx AND a1<=a_yx+a_lh
UPDATE test SET dc='良好' WHERE xm=c
ELSE
UPDATE test SET dc='合格' WHERE xm=c
ENDIF
ENDIF
ENDFOR
是啊,当时是想如果两个人分数相同,按照上月分数进行排的,写代码可能要把两个分数加一起排序然后再赋值。。。
[此贴子已经被作者于2020-2-11 16:00编辑过]