sql >> Databáze >  >> RDS >> Sqlserver

Seskupit podle počtu a celkového počtu

Můžete použít case výraz založený na @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:
Chcete-li odpovědět na upravenou otázku, můžete použít stejnou techniku ​​s count místo 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. Objekt třídy Databáze nelze převést na řetězec

  2. PostgreSQL autentizační metoda 10 není podporována

  3. cx_Oracle.DatabaseError:ORA-12170:TNS:Došlo k vypršení časového limitu připojení

  4. Změňte sloupec MySQL tak, aby byl AUTO_INCREMENT