来自数据表的统计数据

时间:2011-05-18 17:26:38

标签: vb.net linq

使用VB .NET,我想知道从Datatable中获取一些统计数据的最佳方法。我宁愿不用另一个查询来访问数据库,而只是查看我已经拥有的数据表。

那么,Linq一定是答案吗?

我有一个包含两列的数据表(dtable):tech_id和color。从这里,我想要一个包含三列的新数据表: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()

感谢您的帮助!