加入数据表中的一些行
Join some rows in datatable
我有这样的数据表结构:
TYPE CODE VALUE NAME
-----------------------------
D 123 -4 example1
D 123 5 example1
R 123 1 example1
D 444 5 example2
R 777 -2 example3
我想对 TYPE 和 CODE 相同的行求和。
结果应该是:
TYPE CODE VALUE NAME
-----------------------------
D 123 1 example1
R 123 1 example1
D 444 5 example2
R 777 -2 example3
你有什么想法吗?谢谢
试试这个
var result = (from p in ur_data_table.AsEnumerable()
group p by new{ col1 = p["TYPE"], col2 =
p["CODE"] , col3 = p["NAME"]}
into groupedTable
select new
{
X = groupedTable.Key,
//Each Key contains col1,col2 & col3
VALUE = groupedTable.Sum((s1) =>
int.Parse(s1["VALUE"].ToString()))
}).ToList();
这里先把your datatable
转换为Ienumerable object
,然后把table和three columns
分组,根据需要求和存为table名字groupedTable
。然后从分组 table 我们 select 值,其中 X
将包含在 Key
的帮助下用于分组的所有列。最后一部分是通过将值解析为 int
来求和,考虑到该列仅包含 int
。如果数据类型不同,则相应地进行解析。希望这会有所帮助。
我有这样的数据表结构:
TYPE CODE VALUE NAME
-----------------------------
D 123 -4 example1
D 123 5 example1
R 123 1 example1
D 444 5 example2
R 777 -2 example3
我想对 TYPE 和 CODE 相同的行求和。 结果应该是:
TYPE CODE VALUE NAME
-----------------------------
D 123 1 example1
R 123 1 example1
D 444 5 example2
R 777 -2 example3
你有什么想法吗?谢谢
试试这个
var result = (from p in ur_data_table.AsEnumerable()
group p by new{ col1 = p["TYPE"], col2 =
p["CODE"] , col3 = p["NAME"]}
into groupedTable
select new
{
X = groupedTable.Key,
//Each Key contains col1,col2 & col3
VALUE = groupedTable.Sum((s1) =>
int.Parse(s1["VALUE"].ToString()))
}).ToList();
这里先把your datatable
转换为Ienumerable object
,然后把table和three columns
分组,根据需要求和存为table名字groupedTable
。然后从分组 table 我们 select 值,其中 X
将包含在 Key
的帮助下用于分组的所有列。最后一部分是通过将值解析为 int
来求和,考虑到该列仅包含 int
。如果数据类型不同,则相应地进行解析。希望这会有所帮助。