백고등어 개발 블로그
계층형 테이블 구조 및 쿼리 본문
728x90
반응형

칼럼 구성
- Id: 댓글 인덱스는 게시글 번호와 상관없이 댓글 혹은 대댓글이 작성되면 auto_increment 로 1씩 증가되어 저장됩니다.(PK)
- Title: 댓글의 제목을 담을 칼럼입니다.
- Ref: 대댓글의 그룹번호(부모의 Id를 따라가며, Null 또는 1을 기본값으로 설정한다)
- 마지막 Ref 값 + 1 값으로 설정한다
- Step: 들여쓰기의 Level
- depth 와 같으며, 부모 depth + 1 값을 가진다
- ex) 부모
- RefOrder: 같은 그룹내에서의 순서
- 기본값은 0으로 설정하며, 대댓글은 부모의 RefOrder + 1 값을 가진다
- AnswerNum: 대댓글의 개수(부모가 가지고 있는 전체 대댓글의 개수)
- 손자글까지의 개수가 아닌 바로 아래의 자식글 개수만 해당
- ParentNum: 대댓글에서 가지게될 부모의 Id
- ex) id: 1 에 대댓글을 작성하면 해당 대댓글은 ParentNum 으로 1 값을 가진다
대댓글 정렬 쿼리

위와같은 구조의 테이블이 있을 때, 계층형으로 정렬하기 위한 쿼리는 아래와 같다
SELECT * FROM 테이블명 ORDER BY ref, refOrder

정렬의 순서는 우선 ref 칼럼을 기준으로 정렬 후, refOrder 기준으로 한 번 더 정렬하게 된다
참고
대댓글 DB 스키마 설계
안녕하세요. 게시판 개발 중 대댓글(댓글의 댓글) 기능을 구현하려고 합니다.아무리 생각해보고 검색해봐도 헷갈리네요.도움 부탁드리려고 합니다. 우선 제가 찾아본 결과로 DB 를 설계한 것으
hashcode.co.kr
계층형 테이블 구조 및 쿼리
참고: 원문: http://mikehillyer.com/articles/managing-hierarchical-data-in-mysql/ 구글 번역문: http://hmjkor.tistory.com/472 계층적 데이터 처리를 위해 검색해본 결과 참고 사이트 를 발견하게 됨. 조직도..
wooriworld2006.tistory.com
728x90
반응형