Q&A

  • 질문.. 쿼리문 에서 남여 합계 구하기..
MS-SQL 6.5에서

쿼리에서 남여카운트를 구하는 문장을 작성하려하는데요.

그냥 그룹바이해서 카운트를 하면 남자한번... 여자한번..

해서 두번의 연산을 해서 카운트를 하자나여.

근데 한번에 할수 있는 문장은 어케 만들까요...





4  COMMENTS
  • Profile
    danger 2000.02.07 03:58
    joajoa wrote:

    > MS-SQL 6.5에서

    > 쿼리에서 남여카운트를 구하는 문장을 작성하려하는데요.

    > 그냥 그룹바이해서 카운트를 하면 남자한번... 여자한번..

    > 해서 두번의 연산을 해서 카운트를 하자나여.

    > 근데 한번에 할수 있는 문장은 어케 만들까요...

    >

    >

  • Profile
    danger 2000.02.07 03:57
    joajoa wrote:

    > MS-SQL 6.5에서

    > 쿼리에서 남여카운트를 구하는 문장을 작성하려하는데요.

    > 그냥 그룹바이해서 카운트를 하면 남자한번... 여자한번..

    > 해서 두번의 연산을 해서 카운트를 하자나여.

    > 근데 한번에 할수 있는 문장은 어케 만들까요...

    >

    > 답변

    > union all을 사용하십시요...

    > ex)

    > select count(*) mail,0 femail from 성별

    > where sex ='mail'

    > union all

    > select 0 mail, count(*) femail from 성별

    > where sex = 'femail'

    > .. 좋은 답변이 되었는지 모르겠네요



  • Profile
    배리스 2000.01.31 21:59
    joajoa wrote:

    > MS-SQL 6.5에서

    > 쿼리에서 남여카운트를 구하는 문장을 작성하려하는데요.

    > 그냥 그룹바이해서 카운트를 하면 남자한번... 여자한번..

    > 해서 두번의 연산을 해서 카운트를 하자나여.

    > 근데 한번에 할수 있는 문장은 어케 만들까요...

    >

    >



    안녕하세요. IMS 시스템에 배종현입니다.



    SELECT 남녀FLAG, COUNT(*) FROM 테이블면

    GROUP BY 남녀FLAG



    를 하시면 됩니다.





  • Profile
    joajoa 2000.01.31 22:53
    이런.. flag 가 뭐죠?

    남여flag가 필드를 말한다면



    select count(*) count_sex, sex

    from tebal_name

    group by sex



    이렇게 하란 말씀인가요?

    아니겠죠?



    혹시나 해서 다시 질문...

    제가 물어본건 위에서 쓴 쿼리문장으로 하면

    아래처럼 두번의 결과가 나오자나여.

    count_sex sex

    10 남

    14 여

    이렇게요...

    근데 제가 원하는건

    남 여

    10 14

    이런 결과를 얻으려구 하거든요..(꼭! 이 형태야 함.)

    예전에 오라클을 사용할때는

    decode라는 함수가 있어서 필드값을 보구 맞는지 틀리는지 에 따라서 값을 변환하는

    함수가 있어서

    select SUM(DECODE(sex,'남',1)) 남,

    SUM(DECODE(sex,'여',1)) 여

    from tebal_name

    group by sex

    이런식으로 이용을 했었는데 sql에서는 좋은 방법이 없을까요?