View Full Version : distinct count


phamyh
08-27-2009, 11:28 AM
hi i'm trying to do a distinct count of [SUM] but using the group by is not producing correct data.

SELECT [Sum GT 2].[MFG], [Sum GT 2].[MFG_CODE], Count([Sum GT 2].[SUM]) AS [Count]
FROM [Sum GT 2]
GROUP BY [Sum GT 2].[MFG], [Sum GT 2].[MFG_CODE];

how can i rewrite this to give me a distinct count?

thanks,

ByteMyzer
08-27-2009, 12:02 PM
Try:
SELECT [Sum GT 2].[MFG], [Sum GT 2].[MFG_CODE],
Count([Sum GT 2].[SUM]) AS [Count]
FROM (SELECT DISTINCT [Sum GT 2].[MFG], [Sum GT 2].[MFG_CODE], [Sum GT 2].[SUM]
FROM [Sum GT 2]) AS [Sum GT 2]
GROUP BY [Sum GT 2].[MFG], [Sum GT 2].[MFG_CODE];

phamyh
08-27-2009, 12:50 PM
Try:
SELECT [Sum GT 2].[MFG], [Sum GT 2].[MFG_CODE],
Count([Sum GT 2].[SUM]) AS [Count]
FROM (SELECT DISTINCT [Sum GT 2].[MFG], [Sum GT 2].[MFG_CODE], [Sum GT 2].[SUM]
FROM [Sum GT 2]) AS [Sum GT 2]
GROUP BY [Sum GT 2].[MFG], [Sum GT 2].[MFG_CODE];


Thank you!! That works wonderfully! One additional question, how do I order desc for column count?

ByteMyzer
08-27-2009, 12:59 PM
SELECT [Sum GT 2].[MFG], [Sum GT 2].[MFG_CODE],
Count([Sum GT 2].[SUM]) AS [Count]
FROM (SELECT DISTINCT [Sum GT 2].[MFG], [Sum GT 2].[MFG_CODE], [Sum GT 2].[SUM]
FROM [Sum GT 2]) AS [Sum GT 2]
GROUP BY [Sum GT 2].[MFG], [Sum GT 2].[MFG_CODE]
ORDER BY Count([Sum GT 2].[SUM]) DESC;
Note that the ORDER BY clause is executed on the Expression Count([Sum GT 2].[SUM]), and not the Alias [Count].

phamyh
08-27-2009, 01:01 PM
Ah. That makes sense. Thank you.