27,580
社区成员
发帖
与我相关
我的任务
分享
--测试数据
if not object_id(N'Tempdb..#T') is null
drop table #T
Go
Create table #T([id] int,[品名] nvarchar(23),[组别] nvarchar(22))
Insert #T
select 33,N'a1',N'A组' union all
select 40,N'a8',N'B组' union all
select 41,N'a9',N'B组' union all
select 42,N'a10',N'B组' union all
select 43,N'a11',N'B组'
Go
--测试数据结束
;WITH cte AS (
SELECT * ,
ROW_NUMBER() OVER ( PARTITION BY [组别] ORDER BY id ) AS 顺序
FROM #T
)
SELECT * FROM cte WHERE [组别] = 'B组' AND 品名='a10'
--测试数据
if not object_id(N'Tempdb..#T') is null
drop table #T
Go
Create table #T([id] int,[品名] nvarchar(23),[组别] nvarchar(22))
Insert #T
select 33,N'a1',N'A组' union all
select 40,N'a8',N'B组' union all
select 41,N'a9',N'B组' union all
select 42,N'a10',N'B组' union all
select 43,N'a11',N'B组'
Go
--测试数据结束
;WITH cte AS (
SELECT * ,
ROW_NUMBER() OVER ( PARTITION BY [组别] ORDER BY ( SELECT 1) ) AS 顺序
FROM #T
)
SELECT * FROM cte WHERE [组别] = 'B组' AND 品名='a10'
--测试数据
if not object_id(N'Tempdb..#T') is null
drop table #T
Go
Create table #T([id] int,[品名] nvarchar(23),[组别] nvarchar(22))
Insert #T
select 33,N'a1',N'A组' union all
select 40,N'a8',N'B组' union all
select 41,N'a9',N'B组' union all
select 42,N'a10',N'B组' union all
select 43,N'a11',N'B组'
Go
--测试数据结束
;WITH cte AS (
SELECT * ,
ROW_NUMBER() OVER ( ORDER BY ( SELECT 1
) ) AS 顺序
FROM #T
WHERE [组别] = 'B组'
)
SELECT * FROM cte WHERE 品名='a10'
ROW_NUMBER()OVER(ORDER BY 列名)
--测试数据
if not object_id(N'Tempdb..#T') is null
drop table #T
Go
Create table #T([name] NVARCHAR(100))
Insert #T SELECT '测试'+RTRIM(number) FROM master.dbo.spt_values
WHERE type = 'P' AND number<100
Go
--测试数据结束
Select *,ROW_NUMBER()OVER(ORDER BY name) AS num from #T