以文本方式查看主题 - 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人数怎么实现
[此贴子已经被作者于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目录,拷贝项目到其它目录,或者其它电脑试试 |