非常棘手的order by 问题
我有一个字段      size,我想   select   *   from   [tablename]   order   by   size,但是我的size是用户输入的。我想根据size排序。比如size=10      我想size=10的记录在最上方,size=9和size=11的在下面。有办法吗。
------解决方案--------------------select * from [tablename] order by case size when 10 then -9999 end
------解决方案--------------------select * from [tablename] order by CASE WHEN size=10 THEN 0 ELSE 1 END
------解决方案--------------------declare @t table(pk int identity(1,1),size int) 
 insert @t select 9 
 insert @t select 10 
 insert @t select 11   
 select * from @t order by case size when 10 then (select min(size)-1 from @t) else size end 
 ---- 
 pk          size         
 ----------- -----------  
 2           10 
 1           9 
 3           11   
 (所影响的行数为 3 行)