sql >> Database teknologi >  >> RDS >> Sqlserver

Gruppere og summere rækkedata i kolonner i MS-SQL?

Du kan også lave pivoten sådan her:

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 ikke lave en separat underforespørgsel for hver værdi.

pivot statement er også et meget rimeligt alternativ. Jeg er tilbøjelig til at holde fast i den eksplicitte version (ovenfor), fordi den giver mig mere fleksibilitet til at tilføje kolonner.



  1. Store MySQL-tabeller

  2. Brug where-forespørgsler i JSONB-datatype i Rails Postgres

  3. isset($_POST['submit']) virker ikke nu

  4. hvorfor kunne jeg bruge first()-metoden, når min resultatsættype kun er fremadrettet?