요구사항:

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;

Posted by 타다키치

댓글을 달아 주세요