안녕하십니까?^^
큐브리드 페이징 관련 문의 드립니다.
아래 쿼리로 기본적인 페이징 쿼리를 작성하였습니다.
여기에 페이징 이전의 카운트가 나오게 하고 싶은데 어떻게 처리해야하나요?
일반적인 게시판에서 페이징 및 전체 카운트 표시 SQL을 하나로 만들고 싶어서 문의드립니다.
SELECT
group_code,
group_name
FROM plf_common_code_group
ORDER BY group_code FOR ORDERBY_NUM() BETWEEN 1 AND 10;
>>>>>>>>>>>>>>>>
SELECT TOTAL_COUNT() <<<<<<< 이걸 기능 필요합니다.
group_code,
group_name
FROM plf_common_code_group
ORDER BY group_code FOR ORDERBY_NUM() BETWEEN 1 AND 10;
하나의 쿼리를 통해 특정 구간의 레코드를 구해 오면서, 총 레코드 수도 같이 획득하려면..
아래와 같이 하면되지 않을까 싶네요.
SELECT
(
SELECT
count
(group_code)
FROM
plf_common_code_group)
as
total_count,
group_code,
group_name
FROM
plf_common_code_group
ORDER
BY
group_code
FOR
ORDERBY_NUM()
BETWEEN
1
AND
10;
하지만 상기 쿼리의 경우, 매 레코드 마다 서브 쿼리가 실행되기 때문에 부하 문제가 있을 듯하고.. (?)
제 경험상.. 총 갯수를 구하는 쿼리와 현재 페이지에서 보여줄 데이터를 가져오는 쿼리를 각각 준비해
질의해 사용하는 것이 좋을 듯합니다.
총 갯수 구하고,
SELECT
count
(group_code)
FROM
plf_common_code_group
원하는 구간의 레코드만 다시 획득하고..
SELECT
group_code,
group_name
FROM
plf_common_code_group
ORDER
BY
group_code
FOR
ORDERBY_NUM()
BETWEEN
1
AND
10;