Sql 如何从表中的任何行中选择下一行
我有一张桌子。在该表中有一个名为CIS的列。此CIS列在每行中包含唯一的编号。我想从通过CIS编号捕获的特定行中获取50行 例如,假设我有下表Sql 如何从表中的任何行中选择下一行,sql,sql-server,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行。我该怎么做呢?这是你想要的吗 sel
CIS MODEL
--- -----
123 1
212 2
213 3
325 4
452 3
. .
. .
. .
841 4
我只有一个CIS号码,没有别的了。假设我的CIS号码是212。我想从CIS编号为212的行中获得接下来的50行。我该怎么做呢?这是你想要的吗
select top 50 t.*
from table t
where cis > 212
order by cis;
它假定“下一行”是指按CIS编号排序的下一行。这是否符合您的要求
select top 50 t.*
from table t
where cis > 212
order by cis;
它假定“下一行”是指按CIS编号排序的下一行。根据您的问题和评论,听起来您希望根据这些行在表中插入的顺序获得下50行。正如其他人所建议的,SQL Server没有按插入顺序检索的方法。没有排序依据的
SELECT
查询不会按任何特定顺序检索数据,即使它看起来是这样。如果你对原因感兴趣,你可以在
因为您想知道下一步是什么,并且没有插入顺序的概念,所以SQL需要知道计算行的顺序,以提供所需的内容。一个选项可能是,如果该表上有一个自动递增的键列,则可以尝试按该列排序()
注:我会简单地评论戈登的回答,但我还没有足够的声誉来评论其他人的回答
希望这会有所帮助。根据您的问题和评论,听起来您希望根据这些行在表中插入的顺序获得接下来的50行。正如其他人所建议的,SQL Server没有按插入顺序检索的方法。没有排序依据的
SELECT
查询不会按任何特定顺序检索数据,即使它看起来是这样。如果你对原因感兴趣,你可以在
因为您想知道下一步是什么,并且没有插入顺序的概念,所以SQL需要知道计算行的顺序,以提供所需的内容。一个选项可能是,如果该表上有一个自动递增的键列,则可以尝试按该列排序()
注:我会简单地评论戈登的回答,但我还没有足够的声誉来评论其他人的回答
希望这能有所帮助。CIS列可能没有订购。它可以是随机序列,关系数据库中的表表示无序集。除非有一列指定了顺序,否则没有“下50行”的概念。根据定义,表没有顺序,所以没有“下一行”的概念。若您并没有可用作排序值的内容,那个么您就并没有办法执行您试图执行的操作。CIS列可能并没有排序。它可以是随机序列,关系数据库中的表表示无序集。除非有一列指定了顺序,否则没有“下50行”的概念。根据定义,表没有顺序,所以没有“下一行”的概念。如果您没有任何东西可以用作排序值,那么您就没有办法做您试图做的事情。