Reputation: 202
i am using this
SELECT TOP (100) PERCENT
CONVERT(char(10), [Reg Date1], 103) AS [Reg Date],
Regs
FROM (SELECT CAST(SetupDateTime AS datetime) AS [Reg Date1],
COUNT(DISTINCT ID) AS Regs
FROM dbo.tbl_User
WHERE (CAST(SetupDateTime AS datetime) BETWEEN
CAST(DATEADD(dd, - 7, GETDATE()) AS datetime) AND
CAST(DATEADD(dd, - 1, GETDATE()) AS datetime))
GROUP BY CAST(SetupDateTime AS datetime)) AS a
ORDER BY [Reg Date1]
which then produces
Reg Date Regs
07/12/2011 1
07/12/2011 1
07/12/2011 1
08/12/2011 1
08/12/2011 1
09/12/2011 1
09/12/2011 1
10/12/2011 1
10/12/2011 1
10/12/2011 1
but i want it to do
Reg Date Regs
07/12/2011 10
08/12/2011 12
09/12/2011 15
10/12/2011 11
11/12/2011 10
12/12/2011 17
i cant seem to get it to group in this way
Upvotes: 1
Views: 89
Reputation: 66757
Try this:
SELECT TOP (100) PERCENT CONVERT(char(10), [Reg Date1], 103) AS [Reg Date], Sum(Regs)
FROM (SELECT CAST(SetupDateTime AS datetime) AS [Reg Date1], COUNT(DISTINCT ID) AS Regs
FROM dbo.tbl_User
WHERE (CAST(SetupDateTime AS datetime) BETWEEN CAST(DATEADD(dd, - 7, CAST(convert(varchar, GETDATE(), 112) AS datetime)) AS datetime) AND CAST(convert(varchar, GETDATE(), 112)
AS datetime))
GROUP BY CAST(SetupDateTime AS datetime)) AS a
group by CONVERT(char(10), [Reg Date1], 103)
ORDER BY CONVERT(char(10), [Reg Date1], 103)
Upvotes: 2
Reputation: 7759
Try this:
SELECT TOP (100) PERCENT CONVERT(char(10), [Reg Date1], 103) AS [Reg Date], COUNT(Regs)
Note the use of COUNT
which is I suspect what you are trying to do.
Upvotes: 0