카운트 두번 하는 방법 질문드립니다~ 0 2 484

by 천만달러 [Tibero] [2021.10.18 16:27:49]


테이블 A에 id값 하나가 있고

테이블 B에는 A테이블 id값과 같은 값에 데이터가 여러개 들어가 있습니다

A테이블 id = 1 , id = 2 값에

B테이블 id = 1, title 1 / id = 1, title 2

           id = 2, title 1 / id = 2, title 2 / id = 2, title3

이런식인데요

테이블 B에count(id) 하면 id값이 가지고 있는 수를 카운트 해주는데

테이블 A에 저 위 숫자를 뿌려주는 리스트형식의 쿼리를 만드려고 합니다

 

SELECT *
FROM (
    SELECT
        CEIL ((ROW_NUMBER() OVER(ORDER BY A.UPDATE_DATE DESC)+0.00) / (15+0.00)) AS RNUM
        , COUNT(*) OVER() TOTCNT
        , A.ID
        , 여기다가 A테이블 ID 갯수만큼 B테이블에서 카운트하는 값을 가져와서 리스트에 뿌려주고 싶습니다~!
    FROM TABLE A
)

WHERE RNUM = 1

 

위 쿼리를 보면 페이징 하려고 카운트를 해서 그런지

카운트 하나를 더 추가하면 안되더라구요

무슨 방법이 있는지 궁금합니다~!! 도와주세요~ㅠ

by 모래가흙흙 [2021.10.18 17:37:28]

서브쿼리를 이용한다면  (SELECT COUNT(*) FROM t2 WHERE id = a.id) as B_cnt


by 마농 [2021.10.19 09:37:42]

위에 댓글처럼 서브쿼리를 이용하는데. 위치는 인라인뷰 밖에서 하세요.

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입