不错呦!smile@林凯西,确保“准备文件”中的几个文件都有安装,S...您好,看了您这篇帖子觉得很有帮助。但是有个问题想请...我的修改过了怎么还被恶意注册呢 @jjjjiiii 用PJ快9年了,主要是A...PJ3啊,貌似很少有人用PJ了,现在不是WP就是z...@332347365,我当时接入时错误码没有-10...楼主,ChkValue值应为-103是什么意思呢?...大哥 你最近能看到我发的信息,请跟我联系,我有个制...
SQL Server2005获取第N条记录两种方法
编辑:dnawo 日期:2012-09-12
表结构如下,要求取出第2条记录:
方法一:SQL Server2000经典查询法(TOP)
简化版:
若N需动态指定,可用sp_executesql:
SQL Server2005增强型TOP(N)法:
方法二:SQL Server2005新查询法(row_number() over())
复制内容到剪贴板
程序代码

Create TABLE Pet
(
[Id] int identity(1,1) primary key,
[Name] nvarchar(50)
)
(
[Id] int identity(1,1) primary key,
[Name] nvarchar(50)
)
方法一:SQL Server2000经典查询法(TOP)
复制内容到剪贴板
程序代码

Select TOP 1 [Name] FROM Pet Where [Id]=(Select max([Id]) FROM Pet Where [Id] in (Select TOP 2 [Id] FROM Pet orDER BY [Id]))
简化版:
复制内容到剪贴板
程序代码

Select TOP 1 [Name] FROM Pet Where [Id]=(Select max([Id]) FROM (Select TOP 2 [Id] FROM Pet orDER BY [Id]) as tab)
若N需动态指定,可用sp_executesql:
复制内容到剪贴板
程序代码

declare @sql nvarchar(200)
declare @Name nvarchar(50), @Number int
select @Number = 2, @sql = N'Select TOP 1 @Name=[Name] FROM Pet Where [Id]=(Select max([Id]) FROM (Select TOP ' + convert(nvarchar,@Number) + ' [Id] FROM Pet orDER BY [Id]) as tab)'
EXECUTE sp_executesql @sql, N'@Name nvarchar(50) output', @Name output
Select @Name
declare @Name nvarchar(50), @Number int
select @Number = 2, @sql = N'Select TOP 1 @Name=[Name] FROM Pet Where [Id]=(Select max([Id]) FROM (Select TOP ' + convert(nvarchar,@Number) + ' [Id] FROM Pet orDER BY [Id]) as tab)'
EXECUTE sp_executesql @sql, N'@Name nvarchar(50) output', @Name output
Select @Name
SQL Server2005增强型TOP(N)法:
复制内容到剪贴板
程序代码

Select TOP 1 [Name] FROM Pet Where [Id]=(Select max([Id]) FROM (Select TOP(@Number) [Id] FROM Pet orDER BY [Id]) as tab)
方法二:SQL Server2005新查询法(row_number() over())
复制内容到剪贴板
程序代码

Select [Name] FROM (Select (row_number() over(ORDER BY [Id])) as RowNumber,[Name] FROM Pet) as tab Where RowNumber=2






评论: 0 | 引用: 0 | 查看次数: 3555
发表评论
请登录后再发表评论!