반응형
postgresql의 Rownum
postgresql에서 rownum을 시뮬레이션하는 방법이 있습니까?
Postgresql> 8.4
SELECT
row_number() OVER (ORDER BY col1) AS i,
e.col1,
e.col2,
...
FROM ...
방금 Postgres 9.1에서 Oracle ROWNUM에 가까운 솔루션을 테스트했습니다.
select row_number() over() as id, t.*
from information_schema.tables t;
Postgresql에는 제한이 있습니다.
오라클의 코드 :
select *
from
tbl
where rownum <= 1000;
Postgresql의 코드에서도 동일합니다.
select *
from
tbl
limit 1000
번호를 다시 확인하려면 이것을 시도하십시오.
create temp sequence temp_seq;
SELECT inline_v1.ROWNUM,inline_v1.c1
FROM
(
select nextval('temp_seq') as ROWNUM, c1
from sometable
)inline_v1;
inline_v1 SQL에 order by를 추가하여 ROWNUM이 데이터에 순차적 인 의미를 갖도록 할 수 있습니다.
select nextval('temp_seq') as ROWNUM, c1
from sometable
ORDER BY c1 desc;
가장 빠르지는 않을 수도 있지만 실제로 필요한 경우 옵션입니다.
Postgresql에는 Oracle의 ROWNUM과 동등한 기능이 없습니다. 대부분의 경우 쿼리에서 LIMIT 및 OFFSET을 사용하여 동일한 결과를 얻을 수 있습니다.
고유 키가있는 경우 다음을 사용할 수 있습니다. COUNT(*) OVER ( ORDER BY unique_key ) as ROWNUM
SELECT t.*, count(*) OVER (ORDER BY k ) ROWNUM
FROM yourtable t;
| k | n | rownum |
|---|-------|--------|
| a | TEST1 | 1 |
| b | TEST2 | 2 |
| c | TEST2 | 3 |
| d | TEST4 | 4 |
행 번호 -1을 선택하는 오프셋과 함께 limit clausule을 사용하므로 숫자 8 행을 얻으려면 다음을 사용하십시오.
제한 1 오프셋 7
참고URL : https://stackoverflow.com/questions/3959692/rownum-in-postgresql
반응형
'Programing' 카테고리의 다른 글
최신 Java와 배열 목록의 동일성을 비교하는 방법은 무엇입니까? (0) | 2020.11.08 |
---|---|
OpenSSL 라이브러리를 사용하여 C ++에서 SHA 해시 생성 (0) | 2020.11.08 |
Backbone.js 컬렉션에서 fetch ()를 호출하면 어떤 이벤트가 트리거됩니까? (0) | 2020.11.08 |
Eclipse는 해결되지 않은 컴파일 문제가있는 클래스를 어떻게 만들 수 있습니까? (0) | 2020.11.08 |
Android 5.0 (L) 서비스 의도는 Google 애널리틱스에서 명시 적이어야합니다. (0) | 2020.11.08 |