Row_Number示例

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

Row_Number示例_第1张图片

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

Row_Number示例_第2张图片


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

Row_Number示例_第3张图片
 

你可能感兴趣的:(Row_Number示例)