我有以下查詢,我需要修改它只計算Unit_Serial_No列中的唯一值的總和(在DISTINCT中我可以很容易地做到這一點),我只是不知道如何處理SUM。提前致謝!SQL查詢 - 具有多個條件的唯一值
SELECT COUNT(Test_Result) as 'Total'
,SUM(CASE WHEN Test_Result='Pass' THEN 1 END) AS 'Passed'
,SUM(CASE WHEN Test_Result='Fail' THEN 1 END) AS 'Failed'
FROM [Optima_Test_Results].[dbo].[Optima PreChamber Test]
WHERE DATEADD(dd, 0, DATEDIFF(dd, 0, Created_Date)) = DATEADD(dd, 0, DATEDIFF(dd, 0, GETDATE()))
解決方案,很少有調整,信貸Madhivanan:
SELECT COUNT(DISTINCT Unit_Serial_No) as 'Total'
,COUNT(DISTINCT CASE WHEN Test_Result='Pass' THEN Unit_Serial_No END) AS 'Passed'
,COUNT(DISTINCT CASE WHEN Test_Result='Fail' THEN Unit_Serial_No END) AS 'Failed'
FROM [Optima_Test_Results].[dbo].[Optima PreChamber Test]
WHERE DATEADD(dd, 0, DATEDIFF(dd, 0, Created_Date)) = DATEADD(dd, 0, DATEDIFF(dd, 0, GETDATE()))
你想得到'Unit_Serial_No'的'Sum'還是'Count'?這聽起來是這個列是用於你通常不會求和的序列號。 –
計算今天的所有唯一序列號,並返回2個數字,其中一個總和爲失敗的一個總和。 – Steven