【问题标题】:Sum the total in a column in datatable在数据表的列中求和
【发布时间】:2013-02-22 11:21:15
【问题描述】:

我有一个问题。我需要在数据表的单个列中总结总金额。我该如何处理?

例如

Total
2
3
4
5
9
10

我需要得到整个专栏的总数。

【问题讨论】:

标签: asp.net


【解决方案1】:

最灵活的方式是使用Enumerable.Sum

Int64 sum = table.AsEnumerable().Sum(r => r.Field<int>("total"));

注意,需要添加using System.Linq;

你也可以使用DataTable.Compute,它的语法不容易记住,而且有限制:

Int64 sum = (Int64) table.Compute("Sum (total)", null);

【讨论】:

  • 你在 enumerable.Sum 中提到的那个变量 r 是什么?
  • @NgYangYang:这是预计的DataRow,因为DataTable.AsEnumerable 返回IEnumerable&lt;DataRow&gt;
【解决方案2】:

如果您使用的是 SQl 服务器,您可以让服务器计算它并返回总和..

SqlCommand cmd = new SqlCommand("SELECT SUM(Total) FROM MyTable", conn);
int nSum = (int)cmd.ExecuteScalar();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-11-19
    • 2016-11-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多