您的位置:首页 > 其它

排序函数和in排序

2015-07-11 17:47 375 查看
select * from [Test].[dbo].[Sort]

--分组排名,没有并列的名次
select  id,name,age,case when age is not null then row_number()
over(partition by id order by age desc
                          else null  end as rank 
from [Test].[dbo].[Sort] 

--分组排名,有并列的名次不连续
select  id,name,age,case when age is not null then rank()
over(partition by id order by age desc
                          else null  end as rank 
from [Test].[dbo].[Sort] 

--分组排名,有并列的名次连续
select  id,name,age,case when age is not null then dense_rank()
over(partition by id order by age desc
                          else null  end as rank 
from [Test].[dbo].[Sort]

--in排序
select * 
from [User
where UserID in(50,100,40,200,70) 
order by charindex(','+ltrim(UserID)+',', ',50,100,40,200,70,')
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: