以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]我想实现统计各科满足不同条件的人数  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=91088)

--  作者:dzy1232016
--  发布时间:2016/9/29 10:00:00
--  [求助]我想实现统计各科满足不同条件的人数
我想统计各个班,语文>=100,数学>=115,英语>=102人数怎么实现
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:成绩分析.rar

[此贴子已经被作者于2016/9/29 10:02:57编辑过]

--  作者:有点蓝
--  发布时间:2016/9/29 10:06:00
--  
参考:http://www.foxtable.com/webhelp/scr/0681.htm
--  作者:狐狸爸爸
--  发布时间:2016/9/29 10:17:00
--  

还可以看看:

http://www.foxtable.com/webhelp/scr/2960.htm

http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=90288&replyID=&skin=1

 

[此贴子已经被作者于2016/9/29 10:17:43编辑过]

--  作者:dzy1232016
--  发布时间:2016/9/29 11:26:00
--  
Dim b As New SQLGroupTableBuilder("统计表1","名单")
b
.Groups.Adddef("居民组")
b
.Totals.Adddef("姓名",AggregateEnum.Count,"总人数")
b
.Totals.Addexp("已签约","iif(签约期 Is null,0,1)")
b
.Totals.Addexp("未签约","iif(签约期 Is null,1,0)")
b
.Build 
MainTable
 = Tables("统计表1")
这个方法基本能实现,但执行起来很慢几百条数据要3分钟左右

--  作者:dzy1232016
--  发布时间:2016/9/29 11:29:00
--  
Dim b As New SQLGroupTableBuilder("统计表1","原始成绩")
b.Groups.Adddef("班级")
b.Totals.Adddef("班级",AggregateEnum.Count,"总人数")
b.Totals.Addexp("语文","iif(语文 >=90,0,1)")
b.Totals.Addexp("数学","iif(数学 >=105,1,0)")

b.Totals.Addexp("英语","iif(英语>=85,0,1)")
b.Totals.Addexp("物理","iif(物理>=55,1,0)")

b.Totals.Addexp("化学","iif(化学 >=55,0,1)")
b.Totals.Addexp("生物","iif(生物>=48,1,0)")
b.Build 
MainTable = Tables("统计表1")
这是我的代码

--  作者:有点蓝
--  发布时间:2016/9/29 11:34:00
--  
不慢的,1楼的项目测试不到1秒
--  作者:dzy1232016
--  发布时间:2016/9/29 11:36:00
--  
但同样的数据我却要3分钟是什么原因?
--  作者:有点蓝
--  发布时间:2016/9/29 11:46:00
--  
这个我也没有办法知道是什么原因了,可能还触发了其它代码吧。
[此贴子已经被作者于2016/9/29 11:46:27编辑过]

--  作者:dzy1232016
--  发布时间:2016/9/29 11:48:00
--  
我只有这一段代码,是foxtable版本不一样?


--  作者:有点蓝
--  发布时间:2016/9/29 11:57:00
--  
1楼也是最新版本,一样的。删除项目下bin目录,拷贝项目到其它目录,或者其它电脑试试