I have this MS-SQL query with thousands of row records in database:
SELECT DISTINCT TOP 7 DATENAME(MM, mydatetime) + ' ' + CAST(DAY(mydatetime) AS VARCHAR(2)) as thedate
, MONTH(mydatetime)
, DAY(mydatetime)
, COUNT(Page) as totalcount
, count(DISTINCT Page) as visitors
FROM someTable
WHERE Page LIKE '%AEC%'
GROUP BY DATENAME(MM, mydatetime) + ' ' + CAST(DAY(mydatetime) AS VARCHAR(2))
, MONTH(mydatetime)
, DAY(mydatetime)
ORDER BY MONTH(mydatetime) DESC
, DAY(mydatetime) DESC
It will output this:
thedate | totalcount | visitors
-----------------------------------
October 17 | 4 | 1
October 15 | 1 | 1
October 12 | 1 | 1
October 3 | 3 | 3
October 2 | 42 | 22
September 28| 2 | 1
September 21| 14 | 10
My problem is that I simply cant output this in descending order so it will look like this:
thedate | totalcount | visitors
-----------------------------------
September 21| 14 | 10
September 28| 2 | 1
October 2 | 42 | 22
October 3 | 3 | 3
October 12 | 1 | 1
October 15 | 1 | 1
October 17 | 4 | 1
So any help is greatly appreciated.
For your actual requirement, you can use your current query as a derived table and order that result in the way you want:
SELECT *
FROM ( SELECT DISTINCT TOP 7 DATENAME(mm, mydatetime) + ' '
+ CAST(DAY(mydatetime) AS VARCHAR(2)) AS thedate,
MONTH(mydatetime) AS theMonth,
DAY(mydatetime) AS theDay,
COUNT(page) AS totalcount,
COUNT(DISTINCT page) AS visitors
FROM sometable
WHERE page LIKE '%AEC%'
GROUP BY DATENAME(mm, mydatetime) + ' '
+ CAST(DAY(mydatetime) AS VARCHAR(2)),
MONTH(mydatetime),
DAY(mydatetime)
ORDER BY MONTH(mydatetime) DESC,
DAY(mydatetime) DESC) A
ORDER BY theMonth, theDay
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With