如何从表中的任何行中选择下一行

时间:2015-05-06 15:13:02

标签: sql sql-server

我有一张桌子。在该表中有一个名为CIS的列。此CIS列在每行中包含唯一编号。我希望从通过CIS编号捕获的特定行中获取50行。

例如,假设我有下表

CIS  MODEL
---  -----
123    1
212    2
213    3
325    4
452    3
 .     .
 .     .
 .     .
841    4

我只有一个CIS号码而已。假设我的CIS编号为212.我想从CIS编号为212的行中获得下一行50行。我该怎么做?

2 个答案:

答案 0 :(得分:3)

这样做你想要的吗?

select top 50 t.*
from table t
where cis > 212
order by cis;

它假定" next"表示由CIS编号排序的下一行。

答案 1 :(得分:2)

根据您的问题和评论,听起来您希望根据表格中插入这些行的顺序获得接下来的50行。正如其他人所建议的那样,SQL Server没有按插入顺序检索的方法。没有SELECT的{​​{1}}查询不会以任何特定顺序检索数据,即使它看起来如此。如果您对此感兴趣,可以查看https://stackoverflow.com/a/10064571/4656137

上的帖子

由于您想知道下一步是什么,并且没有插入顺序的概念,因此SQL需要知道评估行的顺序以提供您正在查找的内容对于。一个选项可能是如果您在该表上有自动递增键列,您可以尝试按此顺序排序(using Gordan's example)。

注意:我会简单评论戈登的回应,但我还没有足够的声誉来评论其他答案。

希望这有助于一些人。