2012-03-02 116 views
2
我有表25個紫膠記錄

,我怎樣才能得到前10個LACS後10個LACS後在SQL Server中5個LACS記錄2008年如何獲得的記錄數在SQL

能否請你幫我在這?

在PL SQL我喜歡這個

SELECT * FROM temp WHERE rownum > or rownum < 10 

請建議。

+1

這取決於您使用 – Kayser 2012-03-02 13:36:08

+0

數據庫可能重複[LIMIT/OFFSET in Oracle 11G](http://stackoverflow.com/questions/7326885/limit-offset-in-oracle-11g) – 2012-03-02 13:38:22

+0

你正在尋找一種方法來處理'LIMIT/OFFSET'(或其他數據庫中的類似子句)甲骨文。看到這個問題的詳細信息:http://stackoverflow.com/questions/7326885/limit-offset-in-oracle-11g,或這一個:http://stackoverflow.com/questions/7480243/sql-oracle-order- by-and-limit – 2012-03-02 13:38:59

回答

1

這取決於您使用的數據庫。

對於Oracle可以使用

SELECT * FROM(
    SELECT ROW_NUMBER() OVER (ORDER BY [tableId]) AS RowNr, * FROM MyTable 
) AS T 
WHERE T.RowNr BETWEEN 6 AND 15 

參見討論: LIMIT/OFFSET in Oracle 11G

MYSQL,您可以使用

SELECT * FROM tbl LIMIT 5,10; # Retrieve rows 6-15 
+0

關鍵字PL/SQL和ROWNUM只能是Oracle – 2012-03-02 13:40:41

4
SELECT * FROM 
(
SELECT ROW_NUMBER() OVER (ORDER BY [dataKeyColumnName]) AS RowNo, * FROM Temp 
) AS A 
WHERE A.RowNo BETWEEN 10 AND 15