Quiero resumir tres campos diferentes de una tabla en una consulta. Quiero un LINQ equivalente de este T-SQL:Obtener la suma de dos columnas en una consulta LINQ sin agrupar
select sum(fld1), SUM(fld2), SUM(fld3) from MyTable where classID = 5
Todos los ejemplos que he encontrado bien utilizar un grupo de o llame a la consulta varias veces, una para cada campo que necesita ser resumido.
Tengo algo como esto ahora. Pero no quiero agregar una cláusula group by, ya que no se requiere en su formulario T-SQL.
from a in MyTable
where a.classID == 5
group a by a.classID into g
select new
{
Sumfld1 = g.Sum(x => x.fld1),
Sumfld2 = g.Sum(x => x.fld2),
Sumfld3 = g.Sum(x => x.fld3)
}
¿Alguna sugerencia? Gracias por tu tiempo.
Puede usar 'group a by 1 in g' para aplicar el grupo necesario sin ningún efecto. – mellamokb
¿Realmente hace una diferencia práctica no introducir la cláusula group by? ¿Cuánto tiempo dura la consulta en ambos sentidos? – Enigmativity
¿Por qué se agrupan en classId cuando también filtra en classId. ¿Por qué no simplemente abandonar el grupo? –