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

Popular posts from this blog

iphone - Dismissing a UIAlertView -

c# - Can ProtoBuf-Net deserialize to a flat class? -

javascript - Change element in each JQuery tab to dynamically generated colors -