Row_Number示例

来源:互联网 发布:unity3d 鼠标选中物体 编辑:程序博客网 时间:2024/05/02 01:29

if OBJECT_ID('Tempdb..#T') is not null
 drop table #T

create table #T
 (
 ItemNo nvarchar(10),
 ItemName varchar(100),
 GroupNo nvarchar(10),
 GroupName nvarchar(100)
 )
insert into #T(ItemNo, ItemName, GroupNo, GroupName)
select 'A01', '电脑', 'A', '设备' union all
select 'A02', '桌子', 'A', '设备' union all
select 'A03', '电话', 'A', '设备' union all
select 'B01', '尺子', 'B', '文具' union all
select 'B02', '铅笔', 'B', '文具' union all
select 'B03', '介刀', 'B', '文具'

-- 简单排序
select Row_Number() over(Order by ItemNo) as RowNo, * from #T order by RowNo

-- 组内排序
select Row_Number() over(Partition by GroupNo Order by ItemNo) as RowNo, * from #T order by GroupNo, RowNo


-- 取第2到4条记录(稍作修改可以实现分页显示记录)
select * from (select Row_Number() over(Order by ItemNo) as RowNo, * from #T) twhere RowNo>=2 and RowNo<=4 order by RowNo


 

原创粉丝点击