Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Получаване на сбор от колона на последния ред, добра практика?

Можете лесно да направите това с UNION ALL . Ключът е, че този master_code полето трябва да е от същия тип данни като низа total така че ще трябва да го конвертирате:

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

Вижте SQL Fiddle с демонстрация

Или можете да използвате 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

Вижте SQL Fiddle с демонстрация



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Намерете зависимостта на колоната

  2. Фина настройка на геопространствен индекс

  3. SQL Server 2008 - Свиване на регистъра на транзакциите - Има ли начин за автоматизиране?

  4. SQL Server - Проблем при предаване на променлива към съхранена процедура

  5. По-добре ли е да изпълнявате много sql команди с една връзка или да се свързвате отново всеки път?