2012-04-18 138 views
0

我有一个名为费用的sql表,其中包含一个名为cost的int列。在我的应用程序中,这个数据显示在一个网格上,每当我用linq2sql插入插入一个新行时,网格就会刷新。我想要做的是在我的应用程序中有一个整数变量,它是每次插入行时成本列中所有字段的总和。计算sql数据库中同一列中的所有行的总数

有没有一种简单的方法来总结这些领域与linq2sql每次我插入。请尽量避免使用lambda,因为我还没有学习过。

谢谢!

回答

2

假设你使用的查询语法而不是lambda表达式,你在这儿:

var totalCost = (from expensesRow in dataContext.Expenses 
      select expensesRow.cost) 
      .Sum(); 

这其实是一样的:

var totalCost = dataContext.Expenses 
        .Sum(x => x.cost); 

这里dataContext是您的LINQ2SQL DataContext类的一个实例。

+0

完美!!!!谢谢sooooooo多!!!!!! – 2012-04-25 21:22:00

+0

@ adam355你很好。但是,请考虑学习lambda。 :) – 2012-04-26 03:25:25

0

说我有一个表叫用户提供如下结构:

[Table users] - id | username | points_awarded 

然后,我可以找点总数我通过运行查询授予每个用户:

SELECT SUM(points_awarded) as total_points FROM users 

你也可以统计有多少用户的点数大于我们等于N.例如,表示N = 500,那么我可以运行:

SELECT COUNT(id) as num_users_with_points FROM users WHERE points_award >= 500 

退房:

http://dev.mysql.com/doc/refman/5.1/en/counting-rows.html 
http://dev.mysql.com/doc/refman/5.0/en/func-op-summary-ref.html 

欲了解更多信息。

+0

是不是一个直的SQL查询?我正在使用linq2sql – 2012-04-18 00:26:06

+0

哦,对此很抱歉。我没有清楚地阅读你的问题。 – 2012-04-18 00:28:25

相关问题