2026, 새로운 도약을 시작합니다.

[SQL] 여러필드에서 같은값의 갯수를 표현하는 SQL 표현식 문의 채택완료

항상 도움을 받고만있는 초보입니다.

그누보드를 이용해서 데이터를 수집하고 그 데이터를 가지고 통계치를 작성하는데요

아래와 같은 데이터 필드가 있을때 각 데이터 갯수의 합을 구하고 싶습니다.

도움 부탁드립니다.

데이터

1026054666_1680436927.2099.png

표현하고자하는 양식

1026054666_1680436957.0058.png

여기저기 확인해본내용은 같진 않지만 아래와 내용을 중첩으로 사용하는 형식이었는데요

좀더 간단한 구문이 없을까싶어 문의드립니다..

SELECT SUM(CASE WHEN wr_11 = '가' THEN 1 ELSE 0 END 
           + CASE WHEN wr_12 = '가' THEN 1 ELSE 0 END 
           + CASE WHEN wr_13 = '가' THEN 1 ELSE 0 END 
           + CASE WHEN wr_14 = '가' THEN 1 ELSE 0 END 
           + CASE WHEN wr_15 = '가' THEN 1 ELSE 0 END 
           + CASE WHEN wr_16 = '가' THEN 1 ELSE 0 END 
           + CASE WHEN wr_17 = '가' THEN 1 ELSE 0 END 
           + CASE WHEN wr_18 = '가' THEN 1 ELSE 0 END 
           + CASE WHEN wr_19 = '가' THEN 1 ELSE 0 END 
           + CASE WHEN wr_10 = '가' THEN 1 ELSE 0 END

           .

           .

           + CASE WHEN wr_51 = '가' THEN 1 ELSE 0 END ) AS total_sum
FROM write_list1;

답변 2개

채택된 답변
+20 포인트
Copy
$r = sql_query("select concat(wr_11, wr_12, wr_13, ... , wr_51) as wr_11_51 from write_list1");

while ($row = sql_fetch_array($r)) {

echo substr_count($row['wr_11_51'], '가');

echo substr_count($row['wr_11_51'], '나');

echo substr_count($row['wr_11_51'], '다');

}
로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

^^ 답변감사드립니다.

댓글을 작성하려면 로그인이 필요합니다.

SQL 로만 작성한다면 SUM ~ CASE 구문이 복잡해보여도 가장 좋습니다.

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인
🐛 버그신고