2013-03-07 47 views
0

我有问题。我需要总结数据表中单个列的总量。我如何继续?总计在数据表中的列中

例如

Total 
2 
3 
4 
5 
9 
10 

我需要得到总计整列的。

+0

你有没有先试过自己?你有任何代码要显示吗? – 2013-03-07 10:05:41

+0

检查这些答案:http://stackoverflow.com/questions/5601752/how-to-sum-columns-in-a-datatable http://stackoverflow.com/questions/5892993/how-to-calculate-这个数据表中的列在asp-net – gdp 2013-03-07 10:06:02

回答

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); 
+0

什么是你可以在enumerable.Sum中提到的变量r? – 2013-03-07 16:17:48

+0

@NgYangYang:自[[DataTable.AsEnumerable]](http://msdn.microsoft.com/zh-cn/library/system.data.datatableextensions.asenumerable.aspx)返回一个'IEnumerable '。 – 2013-03-07 16:20:21

0

如果你使用SQL Server,你可以让服务器计算并返回你的总和。

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