【发布时间】:2021-01-10 01:10:00
【问题描述】:
【问题讨论】:
-
做一个 GROUP BY..
-
问题是,这个数据表我已经手动从另一个数据表中插入行,有没有用C#来di呢?
-
@KuHan 我为C#添加了answer,看看吧。
【问题讨论】:
你需要这样写:
Select
PN,
[Description],
Sum(January) AS January,
Sum(February) AS February,
Sum(March) AS March,
Sum(April) AS April
FROM [YourTable]
GROUP BY
PN,
[Description]
【讨论】:
如果您想使用 Datatable 而不是 SQL,您可以使用:
dt = dt.AsEnumerable()
.GroupBy(r => new {PN = r["PN"], Description = r["Description"]})
.Select(g =>
{
var row = dt.NewRow();
row["PN"] = g.Key.PN;
row["Description"] = g.Key.Description;
row["January"] = g.Sum(r => r.Field<int>("January"));
row["February"] = g.Sum(r => r.Field<int>("February"));
row["March"] = g.Sum(r => r.Field<int>("March"));
row["April"] = g.Sum(r => r.Field<int>("April"));
return row;
})
.CopyToDataTable();
见:How do I use SELECT GROUP BY in DataTable.Select(Expression)?
【讨论】: