요구사항:
rownum, 글제목, 댓글수, 글쓴이, 최근 수정 시간(년월일로, 당일 댓글이 달리면 new라고 표시)
이 들어간 테이블을 만들기
내가 한것(쓸 수가 없는 수준)
select rownum rn, bbsno, title, count_rep, writer, replace(to_char(regdate,'yyyymmdd'),'20140911','new') from(
select bbs.BBSNO bbsno, bbs.TITLE title, count(rep.REPLYNO) count_rep, bbs.WRITER writer, bbs.REGDATE regdate
from tbl_bbs bbs, tbl_reply rep
where bbs.BBSNO=rep.BBSNO(+)
and bbs.BBSNO>0
group by bbs.BBSNO, bbs.TITLE, bbs.WRITER, bbs.REGDATE
order by 1 desc
);
-------------------------------------------------------------------------------------------------
선생님이 한 것. 조인을 하기 전에 서브쿼리에서 필요한 행 개수만큼 미리 만들어내는 것이 중요함.
select
rn, min(bno), min(title), count(reply.bbsno), min(writer), min(replace(to_char(reply.regdate,'yyyymmdd'),'20140912','new'))
from
(
select
rn, bno, title, writer, regdate
from
( select /*+INDEX_DESC(tbl_bbs pk_bbs) */ rownum rn, bbsno bno, title, writer, regdate
from tbl_bbs
where bbsno > 0 and rownum <= 20 )
where rn > 0
) bbs, tbl_reply reply
where bbs.bno = reply.bbsno(+)
group by rn
order by rn;
'코딩 > Oracle' 카테고리의 다른 글
Oracle SQL - 게시판용 table 생성 예제 단계별 (3) (0) | 2014.09.13 |
---|---|
Oracle SQL - 게시판용 table 생성 예제 성능 비교, Index 예제 (2) (0) | 2014.09.13 |
Oracle SQL - Toy Data 데이터 만들기 (0) | 2014.09.13 |
JDBC 연결 예제 3 - Try ~ With (0) | 2014.09.13 |
JDBC 연결 예제 1 - Template Method Pattern (0) | 2014.09.13 |