Sql 解释选择1000行然后返回前100行与仅选择前100行之间的区别。如果您给出一个表内容和预期输出的示例(假设为2和5,而不是100/1000)可能会帮助我们理解这个看似荒谬的请求。1:至少有十几个人在问为什么您要丢弃1000行时需要选择1000行,所以不清

Sql 解释选择1000行然后返回前100行与仅选择前100行之间的区别。如果您给出一个表内容和预期输出的示例(假设为2和5,而不是100/1000)可能会帮助我们理解这个看似荒谬的请求。1:至少有十几个人在问为什么您要丢弃1000行时需要选择1000行,所以不清,sql,sql-server,database,Sql,Sql Server,Database,解释选择1000行然后返回前100行与仅选择前100行之间的区别。如果您给出一个表内容和预期输出的示例(假设为2和5,而不是100/1000)可能会帮助我们理解这个看似荒谬的请求。1:至少有十几个人在问为什么您要丢弃1000行时需要选择1000行,所以不清楚你到底想做什么,或者你期望得到什么样的答案。请重新措辞你的问题。请记住,最好描述您的目标,而不是实现目标的步骤:您是否要求查询为给定顺序选择前1000行,然后按不同顺序返回该结果的前100行?@Cyberkiwi我使用MS-Sql@阿达姆罗宾



解释选择1000行然后返回前100行与仅选择前100行之间的区别。如果您给出一个表内容和预期输出的示例(假设为2和5,而不是100/1000)可能会帮助我们理解这个看似荒谬的请求。1:至少有十几个人在问为什么您要丢弃1000行时需要选择1000行,所以不清楚你到底想做什么,或者你期望得到什么样的答案。请重新措辞你的问题。请记住,最好描述您的目标,而不是实现目标的步骤:您是否要求查询为给定顺序选择前1000行,然后按不同顺序返回该结果的前100行?@Cyberkiwi我使用MS-Sql@阿达姆罗宾森。不,我想选择1000行订单,然后返回100行。仍然不理解“选择1000行订单,然后返回100行”。为什么?这个问题仍然没有任何意义。您需要解释选择1000行然后返回前100行与仅选择前100行之间的区别。如果您给出一个表内容和预期输出的示例(假设为2和5,而不是100/1000)可能会帮助我们理解这个看似荒谬的请求。1:至少有十几个人在问为什么您要丢弃1000行时需要选择1000行,所以不清楚你到底想做什么,或者你期望得到什么样的答案。请重新措辞你的问题。请记住,最好描述您的目标,而不是实现目标的步骤:因此DB引擎非常智能,可以自动优化此查询?@Darqer:1000的目的是什么?为什么DB引擎需要智能才能准确返回您要求的内容?不需要特殊的优化。我需要某种优化。我有巨大的数据库并选择了一些数据,但我只想选择1000行(例如也可能是2000行),然后按某个列排序(相关性),然后只返回100个用户不需要更多。为什么需要选择1000行,为什么不只选择100行?最终结果完全相同。我认为你让这变得比需要的更复杂了。那么DB引擎是如此智能,它可以自动优化这个查询?@Darqer:1000的目的是什么?为什么DB引擎需要智能才能准确地返回你要求的内容?不需要特殊的优化。我需要某种优化。我有巨大的数据库并选择了一些数据,但我只想选择1000行(例如也可能是2000行),然后按某个列排序(相关性),然后只返回100个用户不需要更多。为什么需要选择1000行,为什么不只选择100行?最终结果完全相同。我想你把这件事弄得比实际需要的更复杂了。这个查询是一种相当模糊的方法,可以按字段名从TableName order中选择前100名,实际上没有任何好处。@JohnFx:我假设OP在选择原始1000条记录时考虑了一些其他条件,然后在子项中添加一个
where
子句查询可能应该更明确一些。它仍然不会对输出产生任何影响。这个查询是一种相当模糊的方法,可以按字段名从TableName order中选择前100名,实际上没有任何好处。@JohnFx:我假设OP在选择原始1000条记录时考虑了一些其他条件,然后添加一个
where
子句添加到子查询。可能应该更加明确。这仍然不会对输出产生任何影响。您应该在前100名之后添加通配符或指定列名,否则sql server将抛出错误。i、 e
从tbl order by columnname中选择top 1000*
您应该在top 100之后放置通配符或指定列名,否则sql server将抛出错误。i、 e
按列名从tbl订单中选择top 1000*
Select top 100 *
From table
Order by column
select top 100 * from (
    select * from tablename
    limit 1000
)
order by fieldname
select top 1000 from tbl order by columnname
SELECT TOP 100 FROM (select top 1000 from tbl order by columnname) SQ
select top 100 from tbl order by columnname
SELECT TOP 100
FROM (
   select top 1000 from tbl
   order by columnname) SQ
ORDER BY othercolumn
SELECT TOP 100
FROM (
   select top 1000 from tbl
   order by columnname ASC) SQ
ORDER BY columnname DESC