Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Gruppieren nach Anzahl und Gesamtanzahl

Sie könnten einen case verwenden Ausdruck basierend auf @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

BEARBEITEN:
Um die bearbeitete Frage zu beantworten, können Sie die gleiche Technik mit count verwenden statt sum :

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