求一个简单的SQL查询语句

jce195447 2010-10-16 10:29:07
查询一个表的30到40之间的ID字段(该表的ID不是自增列,无序的)
...全文
90 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
jce195447 2010-10-16
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 stevehxh 的回复:]

问题描述不清,究竟是id的值在30至40之间的id?还是一个表在根据某列(比如id)排序之后的第30至40之间的id?还有,id字段本身的数据类型又是什么?
[/Quote]
查询ID字段(int)返回这张表的第30行与第40行之间的数据
jce195447 2010-10-16
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 claymore1114 的回复:]

你总要有个 排序的吧
SQL code

SELECT * FROM
(SELECT ROW_NUMBER() OVER(ORDER BY ReferenceOrderID) AS RowNumber, * FROM Production.TransactionHistoryArchive) AS T
WHERE T.RowNumber<=40 AND T.RowNumber>30;

[/Quote]
排序以后应该就是前10条信息了吧最后改为T.RowNumber<=10?
stevehxh 2010-10-16
  • 打赏
  • 举报
回复
问题描述不清,究竟是id的值在30至40之间的id?还是一个表在根据某列(比如id)排序之后的第30至40之间的id?还有,id字段本身的数据类型又是什么?
jce195447 2010-10-16
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 zcty520 的回复:]

一看就知道是笔试题
[/Quote]
呵呵 今天去面试的时候那个招聘的人问我的 想了半天没想出来...
zcty520 2010-10-16
  • 打赏
  • 举报
回复
一看就知道是笔试题
claymore1114 2010-10-16
  • 打赏
  • 举报
回复
你总要有个 排序的吧

SELECT * FROM
(SELECT ROW_NUMBER() OVER(ORDER BY ReferenceOrderID) AS RowNumber, * FROM Production.TransactionHistoryArchive) AS T
WHERE T.RowNumber<=40 AND T.RowNumber>30;
wuyq11 2010-10-16
  • 打赏
  • 举报
回复
select top m * into 临时表(或表变量) from tablename order by columnname
set rowcount n
select * from 表变量 order by columnname desc

select top n * from
(select top m * from tablename order by columnname) a
order by columnname desc

62,272

社区成员

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

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

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

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