我在表中有25个Lacs记录,如何在10个lacs之后获得前10个lacs,之后在sql Server 2008中获得5个lacs记录。
你可以帮助我吗?
在PL SQL中,我喜欢这个
SELECT * FROM temp WHERE rownum > or rownum < 10
请建议。
答案 0 :(得分:4)
SELECT * FROM
(
SELECT ROW_NUMBER() OVER (ORDER BY [dataKeyColumnName]) AS RowNo, * FROM Temp
) AS A
WHERE A.RowNo BETWEEN 10 AND 15
答案 1 :(得分: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