sql 중복데이터 그룹화해서 출력하기 질문입니다.

sql 중복데이터 그룹화해서 출력하기 질문입니다.

QA

sql 중복데이터 그룹화해서 출력하기 질문입니다.

답변 1

본문

회원 테이블내에 전화번호가 중복인 데이터를 추출해야하는데요

 


SELECT phone, name, COUNT(name) AS cnt FROM member WHERE phone<> '' GROUP BY phone HAVING cnt > 1;


이렇게 했더니 중복하고 이름이 나오긴 하는데 중복된 이름이 전부 나오질 않습니다.

 

제가 원하는건

 

예를 들어 같은번호를 가진 회원이 3명이라면

 

1row에  중복된 전화번호ㄹ를 놓고 3명이 나오게 추출하고싶은데.. 불가능할까요?

 

 

1

전화번호

홍길동

임꺽정

2

전화번호

장길산

장영실

 

이런식으로요.. 도움좀 부탁드립니다.

 

이 질문에 댓글 쓰기 :

답변 1

이런식으로 해보세요.


            <?php
            $sql = "SELECT phone, name, COUNT(name) AS cnt FROM member WHERE phone<> '' GROUP BY phone HAVING cnt > 1;";
            $result = sql_query($sql);
            $num = 1;
             while ($row = sql_fetch_array($result)) {
                $hp_name = array();
                $sql2 = "SELECT phone, name  FROM `member` WHERE `phone` = '".$row['phone']."'";
                $result2 = sql_query($sql2);
                 while ($name_row = sql_fetch_array($result2)) {
                     $hp_name[] = $name_row['name'];
                     $name = implode("<br>",$hp_name);                    
                 }    
                
        $str .= "<tr>
                            <td>".$num."</td>
                            <td>".$row['phone']."</td>
                            <td>".$name."</td>
                    </tr>            
            ";
             $num++;
            }
        ?>
            <table>
                <tr>
                    <td>순번</td>
                    <td>연락처</ td>
                    <td>이름</td>
                </tr>
                <?php echo $str; ?>
            </table>
답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 15
© SIRSOFT
현재 페이지 제일 처음으로