Foxtable(狐表)用户栏目专家坐堂 → SQL后台统计


  共有3500人关注过本帖树形打印复制链接

主题:SQL后台统计

美女呀,离线,留言给我吧!
胡噜胡噜毛
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:24 积分:257 威望:0 精华:0 注册:2021/11/20 15:47:00
SQL后台统计  发帖心情 Post By:2021/12/23 9:23:00 [只看该作者]

Dim b As New SQLGroupTableBuilder("统计表2","视力健康")
b.C
b.Groups.AddDef("班级")
b.Totals.AddExp("班级人数","学生姓名","",AggregateEnum.Count) '统计人数
Dim nms() As String = {"近视人数"}
For Each nm As String In nms '利用表达式统计及格人数和优秀人数 
 b.Totals.Addexp(nm & "近视人数", "case when (裸眼视力左眼  < 4.8 And 裸眼视力右眼 < 4.8 , 1, 0)")
   Next 
b.VerticalTotal = True
b.Build()
For Each nm As String In nms '对生成的统计表增加表达式列,计算及格率和优秀率
  DataTables("统计表2").DataCols.Add(nm & "近视率",Gettype(Double), nm & "近视人数/班级人数" )
   Tables("统计表2").Cols(nm & "近视率").Move(Tables("统计表2").Cols(nm & "近视人数").Index + 1)   
'Next
MainTable = Tables("统计表2")


想要按班级统计学生人数和近视人数,并计算出近视率,一直不能成功,应该怎么修改呢?

 回到顶部
美女呀,离线,留言给我吧!
胡噜胡噜毛
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:24 积分:257 威望:0 精华:0 注册:2021/11/20 15:47:00
  发帖心情 Post By:2021/12/23 9:26:00 [只看该作者]


[此贴子已经被作者于2021/12/23 9:26:56编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110558 积分:562680 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/12/23 9:28:00 [只看该作者]

Dim b As New SQLGroupTableBuilder("统计表2","视力健康")
b.Connecti
b.Groups.AddDef("班级")
b.Totals.AddDef("学生姓名",AggregateEnum.Count,"班级人数") '统计人数
b.Totals.Addexp("近视人数", "case when (裸眼视力左眼  < 4.8 And 裸眼视力右眼 < 4.8 , 1, 0)")
b.VerticalTotal = True
b.Build()
DataTables("统计表2").DataCols.Add("近视率",Gettype(Double), "近视人数/班级人数" )
MainTable = Tables("统计表2")

 回到顶部
美女呀,离线,留言给我吧!
胡噜胡噜毛
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:24 积分:257 威望:0 精华:0 注册:2021/11/20 15:47:00
  发帖心情 Post By:2021/12/23 9:32:00 [只看该作者]

您好b.c

现在一直显示语法错误,麻烦您看看哪里有问题

[此贴子已经被作者于2021/12/23 9:33:27编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110558 积分:562680 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/12/23 9:34:00 [只看该作者]

数据库是access还是SqlServer?

SqlServer
b.Totals.Addexp("近视人数", "case when 裸眼视力左眼  < 4.8 And 裸眼视力右眼 < 4.8 then 1 else 0 end ")

access
b.Totals.Addexp("近视人数", "iif (裸眼视力左眼  < 4.8 And 裸眼视力右眼 < 4.8 , 1, 0)")

 回到顶部
美女呀,离线,留言给我吧!
胡噜胡噜毛
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:24 积分:257 威望:0 精华:0 注册:2021/11/20 15:47:00
  发帖心情 Post By:2021/12/23 9:34:00 [只看该作者]

那个指定了,这个里面显示不出来图片点击可在新窗口打开查看

 回到顶部
美女呀,离线,留言给我吧!
胡噜胡噜毛
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:24 积分:257 威望:0 精华:0 注册:2021/11/20 15:47:00
  发帖心情 Post By:2021/12/23 9:45:00 [只看该作者]

您好,近视人数统计出来了
For Each nm As String In nms '对生成的统计表增加表达式列,计算及格率和优秀率
  DataTables("统计表2").DataCols.Add(nm & "近视率",Gettype(Double), nm & "近视人数/班级人数" )
   Tables("统计表2").Cols(nm & "近视率").Move(Tables("统计表2").Cols(nm & "近视人数").Index + 1)   
Next
在计算近视率的时候,为什么会显示没有近视人数这一列呢?

 回到顶部
帅哥,在线噢!
有点蓝
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110558 积分:562680 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/12/23 9:47:00 [只看该作者]

看3楼

 回到顶部
美女呀,离线,留言给我吧!
胡噜胡噜毛
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:24 积分:257 威望:0 精华:0 注册:2021/11/20 15:47:00
  发帖心情 Post By:2021/12/23 9:52:00 [只看该作者]

谢谢 谢谢 非常感谢,解决啦图片点击可在新窗口打开查看

 回到顶部