2009-07-03 2 views
2

Ingres에서 선택한 쿼리의 후속 행을 선택하는 방법이 있는지 알고 싶습니다. 예를 들어 처음 500 행은 tablename에서 첫 번째 500을 선택하여 선택할 수 있지만 501에서 1000까지의 행을 선택하려면이를 수행 할 수있는 방법이 있습니까?Ingres 선택 쿼리에서 검색 한 행 수 제한

답변

11

당신은 다음과 같은 방법으로 OFFSET 절을 사용할 수 있습니다 :

SELECT col_name 
FROM table 
WHERE col_name = 'value' 
OFFSET m FETCH FIRST n ROWS ONLY 

예를

SELECT * 
FROM table 
OFFSET 501 FETCH FIRST 500 ROWS ONLY 
4

당신은 사용할 수 있습니다

SELECT FIRST 10 * FROM table 

또는

SELECT FIRST 10 field1, field2 FROM table 

나는 앵그르 9.2에서 테스트하고 또한

참조를 작동합니다 How to limit result set size for arbitrary query in Ingres?

+0

감사합니다. Adrian. 우리는 내년에 Ingres9.2로 업그레이드 할 예정이므로 잘 작동 할 것입니다. –

0
당신이 rownum VAR를 사용하여 행 수를 제한하는 시도 할 수 있습니다

가 :

SELECT * from TABLE 
WHERE rownum <=500 

난에 그것을 테스트하지 않았습니다 문제,하지만 잘 작동합니다 :

SELECT * from TABLE 
WHERE rownum >500 
AND rownum <= 1000 
+1

Ingres에는 rownum 열이 없습니다. 그러나 숨겨진 tid 열이 포함되어 있지만 포함 된 값은 페이지 번호와 페이지 내의 위치를 ​​기반으로합니다. – grantc

0
Select top 1000 * from table; commit; 

은 10.0에 완벽하게 작동합니다.