排序函数和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,')
--分组排名,没有并列的名次
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,')
相关文章推荐
- Android 计时器使用
- windows全屏问题
- C++笔记(4):map类型使用
- 【干货】国外程序员整理的 C++ 资源大全
- Xcode6与Xcode5中沙盒的变动以及偏好设置目录的变动
- EBS存储附件信息
- 他们主动布局(autolayout)环境的图像编辑器
- 获取动态sql执行结果
- 南阳oj 题目169 素数
- Spring Mobile 介绍
- [Sqlite] 移动嵌入式数据库Sqlite日报SQL操作语句汇总
- APP store 官方统计工具的常见的Q&A
- BZOJ3495 : PA2010 Riddle
- 解析XML字段
- xrdp安装配置
- oracle EBS上传和下载文件(转)
- python实现计算倒数的方法
- Redis AOF持久化
- 原路归并排序
- POJ 2828 Buy Tickets(线段树)