sql >> Base de Datos >  >> RDS >> Sqlserver

Obtenga la suma de la columna en la última fila, ¿buena práctica?

Puedes hacer esto fácilmente con UNION ALL . La clave es que ese master_code el campo debe ser del mismo tipo de datos que la cadena total así que tendrás que convertirlo:

select cast(master_code as varchar(10)) master_code, jan
from yourtable
union all
select 'Total', sum(jan)
from yourtable

Consulte SQL Fiddle con demostración

O puede usar GROUP BY with ROLLUP :

select 
  case 
    when master_code is not null 
    then cast(master_code as varchar(10)) else 'total' end master_code, 
  sum(jan) Jan
from yourtable
group by master_code with rollup

Consulte SQL Fiddle con demostración