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

Групиране и сумиране на данни от редове в колони в MS-SQL?

Можете също да направите завъртането по този начин:

select workweek,
       sum(case when Catg = 'Cat1' then cost end) as Cat1TotalCost,
       sum(case when Catg = 'Cat2' then cost end) as Cat2TotalCost,
       sum(case when Catg = 'Cat3' then cost end) as Cat3TotalCost
from DataTable
group by Workweek

Не трябва да правите отделна подзаявка за всяка стойност.

pivot твърдението също е много разумна алтернатива. Склонен съм да се придържам към изричната версия (по-горе), защото ми дава повече гъвкавост при добавяне на колони.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Кой е най-добрият начин да получите последния индекс на символ в SQL 2008

  2. Как да премахнете ограничение в SQL Server (T-SQL)

  3. Преобразуване на низове на Sql сървър към дата

  4. Динамично генерирани заглавия на колони в sql заявка

  5. Поведение на уникален индекс, колона varchar и (празни) интервали