일부 WHERE 절과 함께 페이지 매김에 대한 일부 제한 및 오프셋을 사용하여 db를 쿼리하려고합니다. 또한 WHERE
절과 일치하는 총 행 수가 필요합니다. 나는이 같은 PostgreSQL의에서 "OVER 계산"사용했다빈 테이블이 SQL에서 반환 될 때 카운트 받기
:
SELECT
user_id,
created_on,
COUNT(user_id) OVER() AS full_count
FROM
user_info
WHERE
user_info.user_id = ANY(unlocked_ids)
ORDER BY
created_on DESC
LIMIT p_limit OFFSET p_offset
지금은 나에게이 일치하는 행의 수를 반환 WHERE 마지막 열에서 절. 오프셋이 너무 높으면 예상대로 빈 테이블을 반환합니다. 하지만 오프셋이 너무 높을 때도 매치 행 수가 항상 필요합니다.
현재 내가 시도한 솔루션은 LIMIT 1과 오프셋 0이있는 WHERE 절과 일치하는 항목이있는 경우 항상 하나의 결과를 반환하는 다른 쿼리를 만드는 것입니다. 그러나 추가 쿼리없이이 작업을 수행 할 수 있습니까?
미리 감사드립니다.