sql >> Databasteknik >  >> RDS >> Sqlserver

Gruppera och summera raddata i kolumner i MS-SQL?

Du kan också göra pivoten så här:

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

Du bör inte göra en separat underfråga för varje värde.

pivot uttalande är också ett mycket rimligt alternativ. Jag tenderar att hålla fast vid den explicita versionen (ovan), eftersom den ger mig mer flexibilitet när det gäller att lägga till kolumner.



  1. Skapa en tillfällig tabell i SQL Server

  2. Oracle:Gör en sammansatt nyckel som innehåller tre främmande nycklar

  3. Utlösare för att infoga rader i fjärrdatabas efter radering

  4. Varför använder `libpq` polling snarare än avisering för datahämtning?