我想從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