8,494
社区成员




Dim da1 As DataTable = New DataTable
da1.Columns.Add("id")
da1.Columns.Add("name")
da1.Columns.Add("su", Type.GetType("System.Decimal"))
Dim dr As DataRow = da1.NewRow()
dr("id") = 1
dr("name") = "张三"
dr("su") = 10.0
da1.Rows.Add(dr)
dr = da1.NewRow()
dr("id") = 1
dr("name") = "张三"
dr("su") = 20.0
da1.Rows.Add(dr)
dr = da1.NewRow()
dr("id") = 2
dr("name") = "张三"
dr("su") = 30.0
da1.Rows.Add(dr)
dr = da1.NewRow()
dr("id") = 1
dr("name") = "李四"
dr("su") = 30.0
da1.Rows.Add(dr)
dr = da1.NewRow()
dr("id") = 1
dr("name") = "李四"
dr("su") = 40.0
da1.Rows.Add(dr)
Dim tem1 = From k In da1.Rows.Cast(Of DataRow)()
Group k By id = k.Field(Of String)("id"), name = k.Field(Of String)("name") Into g = Group, su = Sum(k.Field(Of Decimal)("su"))
Select id, name, su
For Each c In tem1
Console.WriteLine("{0},{1},{2}", c.id, c.name, c.su)
Next
输出结果:
1,张三,30
2,张三,30
1,李四,70 var result=
from p in datatable
group p by p.id into g
select new { name = g.Max(p => p.name) };
Dim da1 As DataTable = New DataTable
da1.Columns.Add("id")
da1.Columns.Add("name")
da1.Columns.Add("su")
Dim tem1 = From k In da1.Rows.Cast(Of DataRow)()
Group k By id = k.Field(Of DataColumn)("id"), name = k.Field(Of DataColumn)("name") Into g = Group
Select id, name
Dim da1 As DataTable = New DataTable
da1.Columns.Add("id")
da1.Columns.Add("name")
da1.Columns.Add("su")
Dim tem1 = From k In da1.Rows.Cast(Of DataRow)()
Group k By k.Item("id"), k.Item("name") Into g = Group
Select sum(g.item("su"))
想做以上操作该怎么写,LINQ编译不过,哪位大侠知道