컬럼의 값이 특정 개수 이상인 게시물들의 합을 구하고 싶습니다.
본문
안녕하세요~
계속 생각해봐도 제 잛은 지식으로 답이 안나와서 질문드립니다.ㅠㅠ
while 문으로 count 해서 값이 나온 결과물의 값이 n개 이상인 결과의 수를 구할 수 있는 방법이 있을까요?
<?
$sql = " select wr_subject from 테이블A where wr_datetime like '2022-01%' and wr_17 = '사과' order by wr_datetime asc limit 100";
$result = sql_query($sql);
while($row = sql_fetch_array($result)) {
?>
<?
$f_subject = $row['wr_subject'];
$a_sql = "SELECT COUNT(wr_subject) as cnt FROM 테이블B WHERE wr_subject = '$f_subject' and wr_datetime < '2022-01-31 23:59:59' group by wr_subject having COUNT(wr_subject) > 2 ";
$row = sql_fetch($a_sql);
$same_count = $row[cnt];
?>
<tr>
<td> </td>
<td><? echo $f_subject ?></td>
<td><? echo $same_count ?></td>
</tr>
<? } ?>
위와 같은 코드를 짰는데요. 실행을 하면 결과 값이
서울
인천
경기도 4
강원도 10
부산 5
같이 위처럼 출력이 되는데요.
5개의 데이터 중 [값이 2이상]인 결과값이 있는 데이터가 3개니까
----------------------
값: 3
----------------------
을 출력하는 방법을 알고 싶은데 도저히 생각이 안나서요. 혹시 방법이 있을까요?~ㅠㅠ
!-->!-->
답변 2
<?
$sql = "SELECT wr_subject FROM 테이블A WHERE wr_datetime LIKE '2022-01%' AND wr_17 = '사과' ORDER BY wr_datetime ASC LIMIT 100";
$result = sql_query($sql);
$total_count = 0; // Variable to store the total count
while($row = sql_fetch_array($result)) {
$f_subject = $row['wr_subject'];
$a_sql = "SELECT COUNT(wr_subject) AS cnt FROM 테이블B WHERE wr_subject = '$f_subject' AND wr_datetime < '2022-01-31 23:59:59' GROUP BY wr_subject HAVING COUNT(wr_subject) > 2 ";
$row = sql_fetch($a_sql);
$same_count = $row['cnt'];
if ($same_count > 2) {
$total_count++; // Increment the total count if same_count is greater than 2
}
?>
<tr>
<td> </td>
<td><? echo $f_subject ?></td>
<td><? echo $same_count ?></td>
</tr>
<? } ?>
----------------------
값: <? echo $total_count ?>
----------------------
$same_count = $row[cnt];
//추가
if( $same_count <=2) continue;
?>
답변을 작성하시기 전에 로그인 해주세요.