WEB开发网
开发学院数据库MSSQL Server sql server中order by部分使用方式 阅读

sql server中order by部分使用方式

 2007-05-31 15:23:22 来源:WEB开发网   
核心提示:order by常用的使用方式我就不提了 项目的需求千变万化 让我们看看下面几个怪排序需求 --先创建一个表 create table ai( id int not null, no varchar(10) not null ) go --往表中插入数据 insert into ai select 105,'

order by常用的使用方式我就不提了

项目的需求千变万化
让我们看看下面几个怪排序需求

--先创建一个表
create table ai(
id int not null,
no varchar(10) not null
)
go

--往表中插入数据
insert into ai
 select 105,'2'
 union all
 select 105,'1'
 union all
 select 103,'1'
 union all
 select 105,'4'
go

--查询效果如下:
select * from ai
go
id      no    
----------- ----------
105     2
105     1
103     1
105     4

i.
--要求的查询结果如下
--即要求no列的数据按'4','1','2'排列
id      no    
----------- ----------
105     4
105     1
103     1
105     2

--解决方案1
--利用函数CHARINDEX
select * from ai
 order by charindex(no,'4,1,2')

--解决方案2,并且每组再按照id降序排列
--利用函数case
select * from ai
 order by case when no='4' then 1
     when no='1' then 2
            when no='2' then 3
         end,id desc

1 2  下一页

Tags:sql server order

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接