首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

非常棘手的order by 有关问题

2012-03-27 
非常棘手的order by 问题我有一个字段size,我想select*from[tablename]orderbysize,但是我的size是用户输

非常棘手的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 行)

热点排行
Bad Request.