Q&A

  • 쉬운거에요 아주쉬운거니 알려주세요
어제에 이어 다시 질문을 올립니다.

테이블의 특정필드(문자) 를 잘라서 카운트 하고 싶습니다.

예를 한번 들어볼께요..

아래 처럼 이렇게 문자열의 데이터들이 있는 필드가 있습니다.

이것을 서울시 7개 , 부산시 4개, 경기도 5개를 얻어올려면 어케 하지요?

어디 팁이있는장소나 아니면 고수님께서 구현
2  COMMENTS
  • Profile
    사발우성™ 2001.11.28 23:35
    sql서버에서는 될듯 ^^



    select left(시필드,3),count(left(시필드,3))as 카운트 from 테이블

    group by left(시필드,3)



    일케하면 됨당..

    ^^ 그럼 즐프엽



    초보에요 wrote:

    > 어제에 이어 다시 질문을 올립니다.

    > 테이블의 특정필드(문자) 를 잘라서 카운트 하고 싶습니다.

    > 예를 한번 들어볼께요..

    > 아래 처럼 이렇게 문자열의 데이터들이 있는 필드가 있습니다.

    > 이것을 서울시 7개 , 부산시 4개, 경기도 5개를 얻어올려면 어케 하지요?

    > 어디 팁이있는장소나 아니면 고수님께서 구현
  • Profile
    irookie 2001.11.28 23:10
    sql에서 사용할 수 있는 함수가 있습니다.

    근데 지금 제가 그 함수의 이름을 모르겠네요... --;



    다른방법)

    uses StrUtils를 추가하세요.



    요런 함수가 있습니다.

    function MidStr(const AText: string; const AStart, ACount: Integer): string;





    ex)

    str := MidStr((table1.feilds[0].AsString), 1, 6);

    요렇게 하면 앞의 한글3자(영문6자)만 리턴을 합니다.



    간단하면서 무식(?)한 방법으로는...



    str을 구해서 테이블 전체를 루프를 돌면서 같은 문자열이 있나 비교합니다.



    2중 루프가 필요하겠네요



    outer loop는 str 구하는 놈

    inner loop는 테이블 전체를 돌면서 같은 문자열을 카운트하는 놈



    퍼포먼스는 조금 떨어집니다. --;



    성공하시길...



    my msm id : aha99@hanmir.com



    -



    초보에요 wrote:

    > 어제에 이어 다시 질문을 올립니다.

    > 테이블의 특정필드(문자) 를 잘라서 카운트 하고 싶습니다.

    > 예를 한번 들어볼께요..

    > 아래 처럼 이렇게 문자열의 데이터들이 있는 필드가 있습니다.

    > 이것을 서울시 7개 , 부산시 4개, 경기도 5개를 얻어올려면 어케 하지요?

    > 어디 팁이있는장소나 아니면 고수님께서 구현