아침부터 땅좀 파다가 질문 드립니다~
안녕하세요~ 친애하는 고수 행님 여러분. 다름이 아니오라
댓글 평점을 넣고자 꼭두새벽 4시부터 여기저기 찾아서 야매로 평점까지는 뽑았습니다.

1번 게시물에 댓글을 3개 달아서 여분필드 wr_4 번에 0-10점까지 저장 했습니다. (6 9 8)
여기까지는 했는데요 ㅠㅠ 여기저기 찾아봐도 못찾겠더라고요.
갤러리형 게시판 리스트에 평점을 넣고 싶은데요.
6 9 8 이걸 어떻게 평균내서 값을 뽑아서 박어넣는지 궁금 합니다.
제발 부탁드립니다~ 살려주세요~ ㅠㅠ
추가로 염치 없지만 혹시 조회수를 100에 0.1점이든 100에 0.01점이든 함께 반영할수 있는 방법도
물어봐도 될까요? ㅠㅠ
답변 2개
죄송합니다.ㅠㅠ 완전히 기초적인 지식이 없습니다.
php에서 바로 땡겨올수는 없을까요? ㅠㅠ
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
편의상 게시판 테이블명은 'bbs'
select t1.*, (select sum(wr_4) / cnt(wr_4) from bbs t2 where t2.wr_parent = t1.wr_id) as score
from bbs t1
식으로, 서브쿼리로 해당 리스트 글에 달린 댓글들의 점수 평균(합계 / 갯수)을 구해오거나,
또는 mysql 펑션을 만들어 구해오는 방법입니다.
get_score() 라는 펑션을 만들어, wr_id 값을 넘겨주면, wr_parent 의 값이 해당 값인 데이터들의 평점 평균을 리턴해주는 식으로 해서 쓰면 되지 않을까 합니다.
select t1.*, get_score(t1.wr_id) as score
from bbs t1
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
ex.
[사진 1] 이라는 게시글이 있습니다. wr_id = 1, wr_parent = 1 입니다.
[사진 1] 이라는 게시글에, 댓글을 달 때 점수를 매깁니다. 본문의 예시와 같이..
<코멘트 1> 에서는 6
<코멘트 2>에서는 9
<코멘트 3>에서는 8입니다.
<코멘트1>, <코멘트2>, <코멘트3>을 달 때, 그 때.. 코멘트의 부모글의 wr_4 에 그 때 그 때 마다 평균값을 업데이트 해준다면..
나중에 리스트에서 wr_4 칼럼값을 가져오면 됩니다.
댓글을 달 때, 부모글의 wr_4 칼럼에 평균평점값을 업데이트하는 방법은 찾아야 됩니다.
본문 예시의 평균값을 구하는 쿼리는
select sum(wr_4) / count(wr_4) from [테이블] where wr_parent = 1
입니다.