CREATE TABLE `sandbox`.`orders` ( `year` int, `month` int, `day` int, `desc` varchar(255) ) INSERT INTO orders (year, month, day, desc) VALUES (2009,1,1, 'New Years Resolution 1') ,(2009,1,1, 'Promise lose weight') ,(2009,1,2, 'Bagel') ,(2009,1,12, 'Coffee to go') SELECT [Year], [Month], [Day] INTO #Some_Days FROM Quarter WHERE Start >= '2009-01-01' AND [End] < '2009-01-16' GROUP BY [Year], [Month], [Day] SELECT count(*) from #Some_Days SELECT COUNT(*) FROM (SELECT DISTINCT(SomeColumn) FROM MyTable WHERE Something BETWEEN 100 AND 500 GROUP BY SomeColumn) MyTable DATEADD(YEAR, [Quarter].Year, DATEADD(MONTH, [Quarter].Month, DATEADD(DAY, [Quarter].DAY, 0), 0), 0) SELECT COUNT(DISTINCT DATEADD(YEAR, [Quarter].Year, DATEADD(MONTH, [Quarter].Month, DATEADD(DAY, [Quarter].DAY, 0), 0), 0)) FROM Quarter WHERE [Quarter].Start >= '2009-01-01' AND [Quarter].End < '2009-01-16' SELECT COUNT(DISTINCT day) FROM orders WHERE (year, month) = (2009, 1); SELECT [Year], [Month], [Day] FROM Quarter WHERE Start >= '2009-01-01' AND [End] < '2009-01-16' GROUP BY [Year], [Month], [Day] COMPUTE COUNT(*)