Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Obtenir la somme de la colonne sur la dernière ligne, bonne pratique ?

Vous pouvez facilement le faire avec un UNION ALL . La clé est que master_code le champ doit être du même type de données que la chaîne total il faudra donc le convertir :

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

Voir SQL Fiddle avec démo

Ou vous pouvez utiliser 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

Voir SQL Fiddle avec démo