sql >> データベース >  >> RDS >> Sqlserver

カウントによるグループ化と合計カウント

    caseを使用できます @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
    

    編集:
    編集された質問に答えるには、countで同じテクニックを使用できます 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. GROUPBYおよびHAVING結果セットを展開します

    2. mysqlの並列トランザクション

    3. OracleSQLでデュアルから10,000の一意のIDのリストを選択する方法

    4. ランクウィンドウ関数を使用したPostgresUPDATE