日期:2014-05-17  浏览次数:20504 次

求大神来个sql语句,文章置顶问题
news表:
nid ntitle  natt  ntime
1    标题1  NULL   2009
2    标题2  置顶   2006
3    标题3  NULL   2012
4    标题4  置顶   2008
5    标题5  NULL   2004
想要效果:
nid ntitle  natt  ntime
1    标题4  置顶   2008
2    标题3  NULL   2012
3    标题1  NULL   2009
4    标题5  NULL   2004

置顶以时间判断现在最新的一条,文章按时间正常倒排

目前代码:
select nid ntitle  natt  ntime from news 
order by  case  when natt like '%置顶%' then  ntime end desc


如何让置顶语句只显示最新一条
sql 置顶

------解决方案--------------------
select * from(select top 1 * from news where natt='置顶' order by ntime desc)t
union all
select * from news where natt!='置顶' order by ntime desc