sql >> Databasteknik >  >> RDS >> Sqlserver

Gruppera efter antal och totalt antal

Du kan använda ett case uttryck baserat på @Month :

SELECT   ProductCode, 
         SUM (CASE WHEN MONTH(EntryDate) = @Month THEN Quantity ELSE 0 END) 
           AS MonthCount,
         SUM (Quantity) AS TotalConount
FROM     ProductMaster
GROUP BY ProductCode

EDIT:
För att svara på den redigerade frågan kan du använda samma teknik med count istället för sum :

SELECT   ProductCode, 
         COUNT (CASE WHEN MONTH(EntryDate) = @Month THEN Quantity ELSE NULL END) 
           AS MonthCount,
         COUNT (*) AS TotalConount
FROM     ProductMaster
GROUP BY ProductCode


  1. Återställ dump på fjärrmaskinen

  2. Hur får man det sista fältet i en Mysql-databas med PHP?

  3. PostgreSQL 10 på Linux - LC_COLLATE locale en_US.utf-8 ogiltig

  4. Bästa metoder för att lagra kreditkortsinformation i databasen