sql >> Databáze >  >> RDS >> Sqlserver

Získejte součet sloupce na posledním řádku, dobrá praxe?

Můžete to snadno provést pomocí UNION ALL . Klíčem je, že master_code pole musí být stejného datového typu jako řetězec total takže jej budete muset převést:

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

Viz SQL Fiddle s ukázkou

Nebo můžete použít 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

Viz SQL Fiddle s ukázkou



  1. Jak přepsat vestavěný seznam ignorovaných slov uživatelem definovaným seznamem pro fulltextová ignorovaná slova v MySQL na LAMP?

  2. Převeďte název měsíce na číslo měsíce v PostgreSQL

  3. Simulovat VYTVOŘIT DATABÁZI, POKUD NEEXISTUJE pro PostgreSQL?

  4. Vrácení oprávnění tabulky z propojeného serveru v SQL Server (příklady T-SQL)