LINQ | ¿Cómo llego SUMA sin agrupar?
-
21-08-2019 - |
Pregunta
pregunta loco ... sin embargo, quiero que la suma de todas las filas de una tabla de una columna (sin utilizar la cláusula group by)
Ejemplo:
Table = Survey
Columns = Answer1, Answer2, Answer3
1 1 1
4 3 5
3 3 2
Quiero que las sumas para cada columna.
Los resultados finales deben ser:
Answer1Sum Answer2Sum Answer2Sum
8 7 8
Esto no funciona:
from survey in SurveyAnswers
select new
{
Answer1Sum = survey.Sum(),
Answer2Sum = survey.Sum(),
Answer3Sum = survey.Sum()
}
Solución
Que este trabajo:
var answer1Sum = SurveyAnswers.Sum( survey => survey.Answer1 );
var answer2Sum = SurveyAnswers.Sum( survey => survey.Answer2 );
var answer3Sum = SurveyAnswers.Sum( survey => survey.Answer3 );
Otros consejos
A VB.NET soltuion a esta respuesta para cualquier persona que lo necesita es el siguiente:
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);
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow