0

1000 行のデータ テーブルがあります。1 つのフィールドは ID です。個別 ID の数は 500 です。お金の列もあります。500行になるデータテーブルを作成する必要があります。どの 500 かはご想像いただけると思います。はい、個別の ID ごとに、すべての金額を合計する必要があります。それで全部です。

私が持っているデータテーブル:

ID    |   Money
---------------- 
1     |   120 
2     |   75 
1     |   300 
2     |   545

私が欲しいデータテーブル:

ID    |   Money
---------------- 
1     |   420 
2     |   620
4

2 に答える 2

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);
  }
于 2013-02-25T12:22:43.957 に答える
-1

SQLクエリで実際にデータベースから計算してみませんか?MS SQL Server などのストアド プロシージャを使用すると、より堅牢で高速になると思います。

このようなもの....

SELECT ID, Money, SUM(Money)
FROM theTable  
GROUP BY ID, Money
于 2013-02-25T12:39:13.890 に答える