vb datatable from select group by
时间: 2023-08-26 13:04:41 浏览: 47
在VB中,你可以使用LINQ查询语句来从DataTable中进行筛选和分组。下面是一个示例代码,展示了如何使用LINQ来对DataTable进行筛选和分组:
```vb
' 创建一个DataTable示例
Dim dt As New DataTable()
dt.Columns.Add("Name", GetType(String))
dt.Columns.Add("Age", GetType(Integer))
dt.Columns.Add("City", GetType(String))
' 向DataTable添加数据
dt.Rows.Add("John", 25, "New York")
dt.Rows.Add("Alice", 30, "London")
dt.Rows.Add("Bob", 35, "New York")
dt.Rows.Add("Emily", 28, "London")
dt.Rows.Add("Mike", 40, "New York")
' 使用LINQ查询语句进行筛选和分组
Dim query = From row In dt.AsEnumerable()
Group row By City = row.Field(Of String)("City") Into Group
Select New With {
.City = City,
.Count = Group.Count(),
.AverageAge = Group.Average(Function(r) r.Field(Of Integer)("Age"))
}
' 输出分组结果
For Each result In query
Console.WriteLine(result.City & ", " & result.Count & ", " & result.AverageAge)
Next
```
这段代码使用LINQ查询语句对DataTable进行分组,按照城市(City)进行分组,并计算每个城市的人数和平均年龄。你可以根据实际需求修改查询条件和输出方式。希望能对你有所帮助!