我有一个有1000行的数据表。一个字段是ID。不同身份证的数量是500.还有一个钱栏。我必须创建一个500行的数据表。我想你可以猜到哪500.是的,对于每个不同的id,我必须总结所有金额。就这样。
数据表我有:
ID | Money
----------------
1 | 120
2 | 75
1 | 300
2 | 545
我想要的数据表:
ID | Money
----------------
1 | 420
2 | 620
答案 0 :(得分:2)
DataTable dt = new DataTable();
dt.Columns.Add("ID");
dt.Columns.Add("Money", typeof(double));
DataTable dt2 = new DataTable();
dt2.Columns.Add("ID");
dt2.Columns.Add("Money", typeof(double));
dt.Rows.Add("1", 20.50);
dt.Rows.Add("1", 20.50);
dt.Rows.Add("2", 15.30);
dt.Rows.Add("2", 10.70);
var rows = dt.Rows.Cast<DataRow>().GroupBy(x => x["ID"]).Select(x => new { ID = x.Key, Money = x.Sum(row => row.Field<double>("Money")) });
foreach (var row in rows)
{
dt2.Rows.Add(row.ID, row.Money);
}
答案 1 :(得分:-1)
为什么不用SQL查询从数据库中实际计算?使用MS SQL Server中的某些存储过程或其他东西......我认为它更强大,更快。
像这样......
SELECT ID, Money, SUM(Money)
FROM theTable
GROUP BY ID, Money