2011-05-18 88 views
1

使用VB .NET,我想知道从Datatable中获取一些统计数据的最佳方法。我宁愿不用另一个查询命中数据库,但只需查看我已拥有的数据表。来自数据表的统计信息

那么,Linq一定是答案?

我有一个datatable(dtable)包含两列:tech_id和颜色。从这里,我想要一个包含三列的新数据表:tech_id,color和count。当然,我试图找出每个“tech_id”使用每种不同“颜色”的次数。喜欢的东西:

tech_id  colour  count 
------------------------------ 
JM   brown  18 
JM   purple  10 
JM   green  3 
PB   brown  51 
PB   grey  8 
TD   brown  4 
TD   pink  67 
TD   grey  41 

我最好使用LINQ的尝试是不正确的,但下面粘贴到展示如何到目前为止,我已经得到了:

Dim ColourCounts = From p In PGWorkingDataTable.AsEnumerable() _ 
     Group p By p.Field(Of String)("colour") Into Count() _ 
     Select tech_id, colour, ColourCount = Count 

Dim colourStatsTable As DataTable = ColourCounts.CopyToDataTable() 

感谢您的帮助!

回答

1
+0

这是好消息,但我仍然对如何正确使用它有点困惑。我认为我的技能需要一般工作。感谢您指引我朝着正确的方向发展,同样如此。 – Joebocop 2011-05-20 04:05:44

+0

没问题。我同意linq是一个特殊的野兽,需要一些时间来让你的头。我自己离这里还很远。 – DarinH 2011-05-20 13:43:33