如何获取SQL中的记录数

时间:2012-03-02 13:34:17

标签: sql sql-server oracle sql-server-2008 sql-server-2005

我在表中有25个Lacs记录,如何在10个lacs之后获得前10个lacs,之后在sql Server 2008中获得5个lacs记录。

你可以帮助我吗?

在PL SQL中,我喜欢这个

SELECT * FROM temp WHERE rownum > or rownum < 10

请建议。

2 个答案:

答案 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