A:
1)可以用select的方式,将符合条件的数据取出来,再用length计算个数。
//计算'zf'列大于0的天数
setsysparam(pn_stock(),'SZ000001');
r:=nday(100,'time',datetostr(sp_time()),'zf',stockzf3(),'ref_zf',ref(stockzf3(),1));
r1:=select * from r where ['zf']>0 end;
return length(r1);
//计算'zf'列和'ref_zf'列同时大于0的天数
setsysparam(pn_stock(),'SZ000001');
r:=nday(100,'time',datetostr(sp_time()),'zf',stockzf3(),'ref_zf',ref(stockzf3(),1));
r1:=select * from r where ['zf']>0 and ['ref_zf']>0 end;
return length(r1);
2)可以用countifof来统计,但这个只能统计单条件,例如:
//分别统计了'zf'列大于0和'ref_zf'列大于0的个数
setsysparam(pn_stock(),'SZ000001');
r:=nday(100,'time',datetostr(sp_time()),'zf',stockzf3(),'ref_zf',ref(stockzf3(),1));
return select countifof(['zf']>0) as '涨幅大于0',
countifof(['ref_zf']>0) as '前一交易日涨幅大于0'
from r end;