SQL SERVER从表中取指定行的数据

congjitongID 2010-05-07 10:51:50
我想从一个table里取指定行的数据,比如说我只取第15行的数据,
请问这样的sql怎么写?
...全文
544 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
yan267 2010-05-07
  • 打赏
  • 举报
回复
如果只是一条的话。

select top 1 * from table

where 主键 not in (select top 行数-1 主键 from table )
Alden 2010-05-07
  • 打赏
  • 举报
回复
select top 1 * from (select top 15 * from table_name order by filed_name desc) as obj;
Alden 2010-05-07
  • 打赏
  • 举报
回复
获取指定行的数据。
然后降序取第一条。
wangkun9999 2010-05-07
  • 打赏
  • 举报
回复
一条sql实现不了的,通过通过临时表来实现:

Select no=Identity(int,1,1),* Into #temptable From dbo.mytable--利用Identity函数生成记录序号
Select * From #temptable Where no=15
Drop Table #temptable--用完后删除临时表
Alden 2010-05-07
  • 打赏
  • 举报
回复
使用Top N(一个具体的数据),可以返回指定的记录,但是这个数字必须为一个具体的常量而不能使变量。
如果要根据情况取一个指定的数据的记录。也可以使用set rowcount n,这个在代码层面指定。
antiking 2010-05-07
  • 打赏
  • 举报
回复
declare myCursor scroll cursor for select * from test
open myCursor
fetch absolute 3 from myCursor
close myCursor
deallocate myCursor
皇城龙三 2010-05-07
  • 打赏
  • 举报
回复
借助于临时表以及一个函数来实现

代码如下:

Select no=Identity(int,1,1),* Into #temptable From dbo.teacher_info order by teacher_name--利用Identity函数生成记录序号

Select * From #temptable Where no>=10 And no < 20

Drop Table #temptable--用完后删除临时表

jin225 2010-05-07
  • 打赏
  • 举报
回复
1.select top 3 * from Video where VideoID not in (select top 3 VideoID from Video order by VideoID)

查询中间的数据库
yan267 2010-05-07
  • 打赏
  • 举报
回复
select TOP 行数 * from table

62,234

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧