sql server - T-SQL: sorting results by year, month -
sql server - T-SQL: sorting results by year, month -
i have next statement:
select (datename(mm, somedate) + ' ' + datename(day, somedate)) d, count(someid) ids dbo.sometable datename(mm, somedate) = @month , datename(yyyy, somedate) = @year grouping datename(yyyy, somedate), datename(mm, somedate), datename(dd, somedate); it works sorts result this:
july 1, 2011 - 2 july 10, 2011 - 4 july 2, 2011 - 10 how create display july 10 after july 2? know it's simple can't find problem. help!
edit: guys, know there must "order by", thought it's quite obvious. "normal" ordering produces same result (see comments). think it's related collation i'm not expert there.
you losing info somedate and isn't available order anyway
sorting datename isn't want because july after august
so, add together more derived columns grouping sort on later utilize datepart gives numbers
select (datename(mm, somedate) + ' ' + datename(day, somedate)) d, count(someid) ids dbo.sometable datename(mm, somedate) = @month , datename(yyyy, somedate) = @year grouping datename(yyyy, somedate), datename(mm, somedate), datename(dd, somedate), datepart(yyyy, somedate), datepart(mm, somedate), datepart(dd, somedate) order datepart(yyyy, somedate), datepart(mm, somedate), datepart(dd, somedate) sql sql-server tsql sql-order-by
Comments
Post a Comment