Question

Crazy question...however, I want the sum of all the rows in a table for a column (without using the group by clause)

Example:

Table = Survey
Columns = Answer1, Answer2, Answer3
        1        1         1
        4        3         5
        3        3         2

I want the sums for each column.

Final results should look like:

Answer1Sum  Answer2Sum  Answer2Sum

8           7           8

This doesn't work:

from survey in SurveyAnswers
select new
{
    Answer1Sum = survey.Sum(),
    Answer2Sum = survey.Sum(),
    Answer3Sum = survey.Sum()
 }

Was it helpful?

Solution

Would this work:

var answer1Sum = SurveyAnswers.Sum( survey => survey.Answer1 );
var answer2Sum = SurveyAnswers.Sum( survey => survey.Answer2 );
var answer3Sum = SurveyAnswers.Sum( survey => survey.Answer3 );

OTHER TIPS

A VB.NET soltuion to this answer for anyone that needs it is as follows:

Dim Answer1Sum = SurveyAnswers.Sum(Function(survey) survey.Answer1)
Dim Answer2Sum = SurveyAnswers.Sum(Function(survey) survey.Answer2)
Dim Answer3Sum = SurveyAnswers.Sum(Function(survey) survey.Answer3)
SurveyAnswers.Sum(r => r.Answer1);
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top