sql 문 질문드립니다.
본문
신고 게시판을 만들어서 테스트 중입니다.
기본적으로
report 테이블을 write_table 과 똑같이 만들어 두었구요.
신고하면
report 테이블에 해당 신고글이 insert 되는 방식입니다.
wr_n 칼럼을 말씀드리자면
wr_11 = 원게시판 이름
wr_12 = 게시판ID
wr_13 = 신고자ID
wr_14 = 신고자 닉네임
wr_15 = 신고횟수
wr_16 =
wr_17 =
wr_18 = 신고일
wr_19 = 신고자ip
wr_20 = 원글id
이렇게 들어가는데요.
누적 통계를 좀 보여주고 싶어서 쿼리를 작성하려고 하는데..
좀 어려움이 있어서 질문남깁니다.
wr_11(게시판이름)과 wr_20(원글id)가 같은것들의 count를 구하고 싶습니다.
아래 쿼리처럼 하면 다른건 다 원하는 결과가 나오는데
wr_15(신고횟수)를 어떻게 count 시켜줘야 할지 모르겠습니다..
ㅠㅠ 아래 쿼리처럼 하면
신고 횟수가 2회인 게시물은
1,2 이렇게 들어가고
3회인 게시물은
1,2,3 이렇게 들어가버립니다.
게시물 신고시,
이미 신고된 게시물이면
해당게시물의 wr_id와 게시판id를 report테이블에서 조회한후
wr_15에 + 1 시켜주기 때문에
누적테이블에서 1,2,3,... 이렇게 나오는것 같습니다..ㅠ
"SELECT *,
GROUP_CONCAT(DISTINCT ca_name ORDER BY ca_name) AS reason,
GROUP_CONCAT(DISTINCT wr_15 ORDER BY wr_15) AS report_cnt
FROM g5_write_report
WHERE wr_is_comment = 0
GROUP BY wr_20, wr_11
ORDER BY wr_18 DESC";
답변 2
안녕하세요. 인아이디어입니다.
해당 컬럼(wr_15)가 정수형으로 되어있는지 먼저 확인 후, php에서 (int)$변수명 + 1로 처리하시면 될것같습니다.
테이블이 없어서 그냥 생각상으로 만든겁니다 '';
g5_board_good 테이블이 그나마 비슷해서 비슷하게 만들어봤습니다 ''
SELECT *,
wr_11 AS 'bo_table',
wr_20 AS 'wr_id',
COUNT(wr_15) AS 'report_count'
FROM
g5_write_report
WHERE
wr_is_comment = 0
GROUP BY
wr_11, wr_20
ORDER BY
wr_18 DESC;