728x90
반응형
게시글의 목록화면에서는 이전글 다음글은 쿼리상 행으로 이전글 다음글 인덱스를 가지고 오기 쉬웠는데
상세화면에서 하단에 있을 다음글, 이전글 인덱스를 가져오려니까 어떻게 해야 하나 고민이 되었다.
다행이 기본 함수에 관련된 함수가 있어서 쉽게 가져올 수 있었다.
해당 함수는 오라클(ORACLE)이나 마리아디비(Mariadb) 뭐 마리아디비에도 있으니 mysql에도 있지않을까..
아무튼 포스트그레sql 에서는 해당 함수를 아래와 같이 사용한다.
LAG(컬럼명, 몇번째 행) OVER( ORDER BY 컬럼명)
LEAD(컬럼명, 몇번째 행) OVER( ORDER BY 컬럼명)
LAG(컬럼명, 몇번째 행) OVER( ORDER BY 컬럼명)
LEAD(컬럼명, 몇번째 행) OVER( ORDER BY 컬럼명)
예시를 들면 아래와 같이 쓸 수 있다.
LAG(seq, 1) over (order by seq desc)
LAG : 이전 행의 값을 가져온다
LEAD : 다음 행의 값을 가져온다.
이렇게 해서 게시글 내에 이전글 다음글 번호를 가져올 수 있었다.
사용한 쿼리도 올려야지
SELECT b.*
FROM (
SELECT
LAG(seq, 1) over (order by seq desc) AS PREV_SEQ
,LEAD(seq, 1) over (order by seq desc) AS NEXT_SEQ
,seq
.
.
.
FROM board
)b
WHERE b.seq = 1
끝
728x90
반응형
LIST
'Database > PostgreSQL' 카테고리의 다른 글
[PostgreSQL] localhost 말고 ip로 접속 하는데 안될 때 해결 방법 (0) | 2024.01.02 |
---|---|
[PostgreSQL] windows에 포스트그레스큐엘 설치하기 (1) | 2024.01.02 |
[PostgreSQL] 전체 데이터베이스, 스키마, 테이블 목록 조회 (0) | 2022.12.30 |