注册 登录
编程论坛 VFP论坛

能一次统计结果否

fdqzy 发布于 2021-06-11 19:33, 1152 次点击
create cursor b1 (m1 c(2),m2 c(2),m3 c(2),含M数 N(2))
insert into b1 values ("M1","M2","",2)
insert into b1 values ("","M2","M3",2)
insert into b1 values ("M1","M2","M3",3)


可以用:
REPLACE ALL 含M数 WITH OCCURS('M',m1+m2+m3)
一条语句就统计出结果。

create cursor b2 (m1 N(2),m2 N(2),m3 N(2),及格数 N(2))
insert into b2 values (61,54,72,2)
insert into b2 values (48,85,73,2)
insert into b2 values (67,72,69,3)


可否像上面那样用一条语句直接统计m1、m2、m3中“>=60”的数到"及格数"中否?


4 回复
#2
吹水佬2021-06-11 20:04
BLANK FIELDS 及格数 ALL
LIST 及格数+IIF(m1>59,1,0)+IIF(m2>59,1,0)+IIF(m3>59,1,0)
#3
fdqzy2021-06-11 20:06
以下是引用吹水佬在2021-6-11 20:04:24的发言:

BLANK FIELDS 及格数 ALL
LIST 及格数+IIF(m1>59,1,0)+IIF(m2>59,1,0)+IIF(m3>59,1,0)

妙,谢谢!
#4
sdta2021-06-11 20:08
试试
REPLACE 及格数 WITH IIF(M1 >= 60, 1, 0) + IIF(M2 >= 60, 1, 0) + IIF(M3 >= 60, 1, 0) ALL
#5
sdta2021-06-11 20:13
如果满分是100分,还可以这样
REPLACE 及格数 WITH INT(M1/60) + INT(M2/60) + INT(M3/60) ALL
1