댓글수 구하기 질문드립니다~
본문
댓글이 있어도 없어도 등록가능하게 한 게시판이 있는데요.
wr_content 가 있는 댓글수만 따로 구하려고 합니다.
쿼리문으로
$parent_id = $list[0]['wr_parent'];
$sql = "SELECT * FROM ( SELECT wr_content, COUNT(*) AS cnt FROM g5_write_EvalCompany WHERE wr_content != '' AND wr_parent = '$parent_id' AND wr_is_comment = '1' GROUP BY wr_content) As tmpCnt ORDER BY tmpCnt.Cnt DESC";
$result = sql_query($sql2);
while ($row=sql_fetch_array($result)){
print_r ($row);
$amountCount = $row['cnt'].건;
}
위와 같이 작성했는데..
phpmyadmin 의 표는 잘나오는데
cnt row의 합을 구하는걸 어떻게 해야할지 모르겠습니다.
$amountCount = count($row['cnt']);
위와 같은 코드로 작성해도 2가 나와야 하는데
1이 나와버리네요...-_-;
!-->!-->답변 2
$parent_id = $list[0]['wr_parent'];
$sql = "SELECT * FROM ( SELECT wr_content, COUNT(*) AS cnt FROM g5_write_EvalCompany WHERE wr_content != '' AND wr_parent = '$parent_id' AND wr_is_comment = '1' GROUP BY wr_content) As tmpCnt ORDER BY tmpCnt.Cnt DESC";
$result = sql_query($sql2);
$amountCount=0;
while ($row=sql_fetch_array($result)){
// print_r ($row);
$amountCount+=$row['cnt'];
}
echo $amountCount;
지금 구현하신 쿼리는
SELECT * FROM (
SELECT
wr_content,
COUNT(*) AS cnt
FROM g5_write_EvalCompany
WHERE wr_content != ''
AND wr_parent = '$parent_id'
AND wr_is_comment = '1'
GROUP BY wr_content
) As tmpCnt
ORDER BY tmpCnt.Cnt DESC
의 코드는
부모의글에 해당되는 코멘트들을 각각 카운트한 결과가 됩니다.
원하는 쿼리는
게시글에 달린 코멘트수(내용이 있는) 것으로 가정해서 쿼리를 변경해보면
SELECT
a.wr_content
, count(b.wr_id) cnt
FROM g5_write_EvalCompany a, g5_write_EvalCompany b
WHERE b.wr_content != ''
AND a.wr_parent = '{$parent_id}''
AND a.wr_is_comment = '0'
and a.wr_id = b.wr_parent
and b.wr_is_comment = '1'
로 변경하고 실행해보세요
!-->!-->
답변을 작성하시기 전에 로그인 해주세요.