Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Holen Sie sich die Summe der Spalte in der letzten Zeile, gute Praxis?

Das geht ganz einfach mit einem UNION ALL . Der Schlüssel ist dieser master_code Feld muss denselben Datentyp haben wie die Zeichenfolge total Sie müssen es also konvertieren:

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

Siehe SQL Fiddle mit Demo

Oder Sie können GROUP BY with ROLLUP verwenden :

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

Siehe SQL Fiddle mit Demo