以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  关于2G大数据的后台统计问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=38753)

--  作者:bhh
--  发布时间:2013/8/6 11:18:00
--  关于2G大数据的后台统计问题

此主题相关图片如下:qq图片20130806111922.jpg
按此在新窗口浏览图片
 
我要统计的结果是01销售员销售了2种产品,02销售员销售了1种产品,不是统计产品数量,是统计产品种类数量。数据量较大2G数据,需要后台统计。哪位帮帮忙?谢谢了

 下载信息  [文件大小:   下载次数: ]
点击浏览该文件:统计.zip

[此贴子已经被作者于2013-8-6 11:47:01编辑过]

--  作者:狐狸爸爸
--  发布时间:2013/8/6 11:34:00
--  

用分组统计就行,注意加粗的这一行,表示直接统计后台数据:

 

Dim g As New GroupTableBuilder("统计表1", DataTables("表A"))
g.Groups.AddDef("销售员")
g.Totals.AddDef("产品编号", AggregateEnum.Count)
g.FromServer = True
g.Build()
MainTable = Tables("统计表1")

[此贴子已经被作者于2013-8-6 11:35:02编辑过]

--  作者:Bin
--  发布时间:2013/8/6 11:34:00
--  
例子是必须得哦,你这一个图片,三言两语!  没办法帮到你.
--  作者:bhh
--  发布时间:2013/8/6 11:59:00
--  

我要的统计结果应该是:

01    2

02    1

 

狐爸爸的结果是:

01    5

02    2


--  作者:狐狸爸爸
--  发布时间:2013/8/6 12:19:00
--  

难不倒foxtable:
 
 
Dim b As New GroupTableBuilder("统计表1","Select distinct 销售员编号,产品编号 From {表1}","11")
b.Groups.AddDef("销售员编号")
b.Totals.AddDef("产品编号", AggregateEnum.Count)
b.Build()
MainTable = Tables("统计表1")
 
知识点:
 
http://www.foxtable.com/help/topics/2307.htm


 
或者直接用SQL:

 

Select 销售员编号,Count(产品编号) From (Select distinct 销售员编号,产品编号 From {表1}) group by 销售员编号


 

[此贴子已经被作者于2013-8-6 12:33:28编辑过]

--  作者:bhh
--  发布时间:2013/8/6 12:58:00
--  
这个数据量太大  报错
--  作者:Bin
--  发布时间:2013/8/6 13:07:00
--  
.
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:统计.table


--  作者:逛逛
--  发布时间:2013/8/6 13:08:00
--  

你还是直接在数据库中将查询表做好算了。

别忘了在分组字段中加上索引。

还有,你到销售员和产品的字段类型怎么会是文本型的?


--  作者:Bin
--  发布时间:2013/8/6 13:12:00
--  
你数据量大,最好用MSSQL比较好,效率高,而且支持T-SQL语句 干什么处理统计都方便