Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Agrupar por contagem e contagem total


Você pode usar um case expressão baseada em @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:
Para responder a pergunta editada, você pode usar a mesma técnica com count em vez de sum :
SELECT   ProductCode, 
         COUNT (CASE WHEN MONTH(EntryDate) = @Month THEN Quantity ELSE NULL END) 
           AS MonthCount,
         COUNT (*) AS TotalConount
FROM     ProductMaster
GROUP BY ProductCode