这条语句如何排?

csover8 2009-12-01 02:59:37
以下sql语句:

select (convert(varchar,year(Assign_time))+'-'+convert(varchar,month(Assign_time))) as assigntime from Mess_assign where admin_id=3071 and admin_sire=0 and From_adminid='1' and Assign_state='1' group by convert(varchar,year(Assign_time))+'-'+convert(varchar,month(Assign_time)) order by convert(varchar,year(Assign_time))+'-'+convert(varchar,month(Assign_time)) desc

根据表Mess_assign的记录,,排出了:

2009-9
2009-11
2008-11

现在我想让排出的顺序是这样的:
2009-11
2009-9
2008-11

sql语句该怎么改?谢。
...全文
48 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
shenzhenNBA 2009-12-01
  • 打赏
  • 举报
回复
这个没有更多的条件提示,只能帮定, :)
csover8 2009-12-01
  • 打赏
  • 举报
回复
知道了。。结贴。
lzp4881 2009-12-01
  • 打赏
  • 举报
回复
好象这样也应该可以,没测试
select (convert(varchar,year(Assign_time))+'-'+convert(varchar,month(Assign_time))) as assigntime from Mess_assign where admin_id=3071 and admin_sire=0 and From_adminid='1' and Assign_state='1' group by convert(varchar,year(Assign_time))+'-'+convert(varchar,month(Assign_time)) order by year(Assign_time)*100+month(Assign_time) desc
lzp4881 2009-12-01
  • 打赏
  • 举报
回复
你的日期是字符型的,9比11大,所以排在了前面,要想2009-9 排在2009-11后面,需要将2009-9 转为
2009-09,这样才行。

select (convert(varchar,year(Assign_time))+'-'+convert(varchar,month(Assign_time))) as assigntime from Mess_assign where admin_id=3071 and admin_sire=0 and From_adminid='1' and Assign_state='1' group by convert(varchar,year(Assign_time))+'-'+convert(varchar,month(Assign_time)) order by convert(varchar,year(Assign_time))+'-'+right('0'+convert(varchar,month(Assign_time)),2) desc

28,404

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧