怎样求一组数据中最大的n个数的和?
有一组数据怎样求出这组数据中最大的前90%个数据的和,以及这90%的数据中大于某个值的个数?例如:
2016-07-04 18:50
2016-07-04 19:02
2016-07-04 19:13
2016-07-04 20:24
2016-07-04 21:08
2016-07-04 21:10
2016-07-04 21:36
程序代码:clear
close databases
use abcc
rs=ceiling(reccount()*0.9) && 获取成绩前90%的人数,取最大值
local cj[7]
for i=1 to 7
cj[i]=field(i+2)
index on -&cj[i] tag px
s=0 && 成绩总和
n=0 && 大于等于60分的人数
x=1
do while x<=rs
s=s+&cj[i]
if &cj[i]>=60
n=n+1
endif
x=x+1
skip
enddo
?padc(cj[i],30,"-")
?" 和="+str(s,5),"人数="+str(n,5)
?
endfor

2016-07-04 21:38
2016-07-04 21:52
2016-07-04 22:41