Sql 如何构建一个精确返回n行数的查询
如何构建一个精确返回Sql 如何构建一个精确返回n行数的查询,sql,oracle,Sql,Oracle,如何构建一个精确返回n行数的查询 通过从dual中选择x可以检索到一行。关于n行如何?请尝试下面的查询以生成100个从1到100的数字: select level from dual connect by level <= 100 选择级别 来自双重 按级别连接请尝试以下查询以生成100个1到100之间的数字: select level from dual connect by level <= 100 选择级别 来自双重 按级别连接查询可能应该有一个ORDER by子句
n
行数的查询
通过
从dual
中选择x可以检索到一行。关于n
行如何?请尝试下面的查询以生成100个从1到100的数字:
select level
from dual
connect by level <= 100
选择级别
来自双重
按级别连接请尝试以下查询以生成100个1到100之间的数字:
select level
from dual
connect by level <= 100
选择级别
来自双重
按级别连接查询可能应该有一个ORDER by
子句,这样您就可以知道要返回的第一个n
行。否则,如果您实际上是从表中选择的,那么它本质上是n
随机行;这是对单行表的分层查询,返回层次结构中的行数。保证正好有N行,正好是Ben@jpmc26,我在Oracle11g中尝试了查询,在没有
ORDERBY
子句的情况下运行良好。谢谢,运行良好。但我不知道为什么我投了反对票@Ben我指的不是返回的行数;我指的是在包含100多行的表中返回哪些行。看见所以你不知道你得到的是哪一行。它可能是最后100个,或者前100个,或者中间100个。如果你不在乎哪100行,那没关系。或者我误解了这个问题?查询可能应该有一个ORDER BY
子句,这样您就可以知道返回的是第一行n
。否则,如果您实际上是从表中选择的,那么它本质上是n
随机行;这是对单行表的分层查询,返回层次结构中的行数。保证正好有N行,正好是Ben@jpmc26,我在Oracle11g中尝试了查询,在没有ORDERBY子句的情况下运行良好。谢谢,运行良好。但我不知道为什么我投了反对票@Ben我指的不是返回的行数;我指的是在包含100多行的表中返回哪些行。看见所以你不知道你得到的是哪一行。它可能是最后100个,或者前100个,或者中间100个。如果你不在乎哪100行,那没关系。还是我误解了这个问题?