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

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

QA

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

본문

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

 


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>
답변을 작성하시기 전에 로그인 해주세요.
전체 123,532 | RSS
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT