我想从sql server 2008中的表中获取100-150的行,我该怎么做?有没有办法做到这一点?尽可能多的我搜索限制关键字是在MySQL中可用,但对于SQL服务器使用通用表技术,但我不想这样做是否有任何其他方式可用,因为它是在MySQL中可用?使用sql server中的row no从表中获取行
回答
select * from
(select row_number() over (order by @column) as row,* from Table) as t
where row between 100 and 150
@column要由colomn从表中的女巫以及用于排序结果
取代我想知道一些相同的东西在SQL Server不是MYSQL – user1387147
在SQL 2005和上面有一个ROW_NUMBER()函数。如果你需要一些适用于MySQL和SQL Server的东西,那么我不知道这是否在MySQL中可用,因为我从来没有使用它。
http://msdn.microsoft.com/en-us/library/ms186734.aspx
在链接页面,似乎最相关给出的例子是如下,其中查询结果按日期排序,再行50至60从结果集返回。
USE AdventureWorks2012;
GO
WITH OrderedOrders AS
(
SELECT SalesOrderID, OrderDate,
ROW_NUMBER() OVER (ORDER BY OrderDate) AS RowNumber
FROM Sales.SalesOrderHeader
)
SELECT SalesOrderID, OrderDate, RowNumber
FROM OrderedOrders
WHERE RowNumber BETWEEN 50 AND 60;
Row_Number返回最后一个输入的行像身份证方法那样做,我们不能给行数例如100-120或20-25等 – user1387147
我添加了一个例子我的答案使其更清晰。它似乎按照你所要求的做法:从select中返回指定范围的行。 – paulH
实际工作中,最便宜的方式做,这是一个使用上面,然后ROW_NUMBER()
select *
from (select *, row_number() over (order by (select NULL)) as rownum
from (select top 150 t.*
from t
) t
) t
where rownum >= 100
不过,我给你一个警告。在关系表中没有行100-150这样的事情,因为它们本质上是无序的。您需要指定排序。对于这一点,你需要通过命令:
select *
from (select *, row_number() over (order by <field>) as rownum
from (select top 150 t.*
from t
order by <field>
) t
) t
where rownum >= 100
- 1. 在SQL Server中连接从表的两行中获取单行
- 2. SQL Server从两行中获取结果
- 3. 用PHP获取SQL-Server中的行数
- 4. SQL Server从表中获取行并显示在列中
- 5. 从表中的SQL Server获取几行,并列出他们
- 6. 从SQL Server中获取unix用户
- 7. 在SQL Server中获取引用表
- 8. SQL Server存储过程从表中获取行
- 9. 从SQL Server表中获取随机行数
- 10. 从表中获取随机行 - 尝试优化查询 - SQL Server
- 11. SQL Server选择从另一个表中获取单个行
- 12. 从Sql Server中的表中删除行
- 13. 获取从SQL Server
- 14. SQL Server - 获取表
- 15. 使用ADO.NET从SQL Server获取数据
- 16. 从sql中的多个xml行中获取值(ms server 2005)
- 17. 如何在SQL Server中使用count从多个表中获取不同的值?
- 18. 如何使用count语句从sql server中的多个表中获取信息?
- 19. 获取VB.NET中SQL Server表中的行数
- 20. 从SQL Server 2008中的两个表中获取数据?
- 21. 如何从SQL Server中的两个表中获取值?
- 22. 如何从sql server中的eixsting表中获取FK脚本?
- 23. 如何从SQL Server中的键/值表中获取项目?
- 24. 如何从SQL Server中的表中逐个获取记录?
- 25. 从SQL Server中的表中获取最新记录
- 26. 如何从sql server 2008中获取表中的唯一记录
- 27. C++ \ SQL ODBC:从表中获取行
- 28. 使用OleDbDataReader从SQL Server中读取XML
- 29. 如何从SQL Server 2008中的多个表中获取不同的行?
- 30. 从SQL Server 2008中的XML属性获取价值使用OPENXML
卸载MySQL的标签,因为它是混乱:) – bendataclear