<![CDATA[
select
(select count(*) from b_reply where b_reply_no = board_seq_no) as cnt,
a.* from (select ROWNUM as RNUM, b.* from
(select * from board order by board_seq_no desc) b )a
where a.RNUM>=#{start} and a.RNUM<=#{end}]]>
스프링으로 게시판 댓글 갯수를 구하기 위해서 여러 시도를 하던 중에
제 코드를 공유하고 싶어서 업로드 합니다.
굳이 따로 나누는 것은 효율적이지 않다는 것을 인강을 통해서 깨닫고
게시글 목록을 뽑는 기존 쿼리 (괄호안에있는것을 빼면 된다) 안에
괄호를 통해서 서브 쿼리를 넣어서 cnt라는 alias를 주어 뽑아냈습니다.
저같은 경우는 다른 분께 지혜를 빌려서 이런 쿼리를 고민할때 디벨로퍼 같은 툴에서
먼저 쿼리문을 실행해본 뒤에 결과를 확인하고 그담에 이클립스 같은 툴로 옮겨서 작성하곤 합니다.
쿼리로 에러나기 시작하면 한도 끝도 없이 짜증나는 여러분들의 마음을 잘 알기에...
이제 다른 로직 짜러 가봐야겠네요..태클환영
저 쿼리의 이해가 안가시는 분들은 제 게시글 제목으로 유튜브 키워딩 해보시거나
구글링 하셔서 서브쿼리부터 차근히 이해해 나가시길 추천드립니다.
'IT > SQL' 카테고리의 다른 글
제31회 SQLD(SQL 개발자 자격시험) 합격 후기 (2) | 2018.12.29 |
---|---|
[SQLD] 정규화와 반정규화의 차이점 분석 (0) | 2018.11.21 |
[SQLD] 인덱스의 종류와 특징 (0) | 2018.11.17 |
Sql의 쿼리 실행 과정 및 순서 (0) | 2018.11.08 |