책 내용 질문하기
Group by와 where때문에 헷갈리네요.
도서
2017 시나공 정보처리기사 실기(산업기사 포함) 특별개정판
페이지
122
조회수
86
작성일
2017-04-05
작성자
첨부파일

보통 문제에 ~끼리나 ~별로 란 말이 있으면 group by를 쓰는데 문제 6번엔 그런 구문이 없어서 where을 써서 문제를 풀었습니다. 답을 보니 group by 를 썼던데 좀더 구분할수 있는 방법이 있을까요?? 그리고 저는

select 이름 from 자격증 where count(이름)>=2; 로 해서 풀었는데 다른 분이 올리신 문의글을 보니 group by 쓸때랑 결과가 달라진다 하셨는데 무슨 차이가 있는지 좀더 구체적으로 알려주시면 이해하는데 도움이 많이 될거 같습니다~

답변
2017-04-06 09:55:28

안녕하세요.

count와 같은 집계함수는 where 절에는 사용할 수 없습니다.

집계함수는 그룹으로 지정된 필드를 대상으로 한 Having 절에 사용할 수 있습니다.

그러므로 아래와 같이 작성해야 합니다.

SELECT 이름
FROM 자격증
GROUP BY 이름
HAVING COUNT(*) >= 2;

오늘도 즐거운 하루 되세요.

  • *
    2017-04-06 09:55:28

    안녕하세요.

    count와 같은 집계함수는 where 절에는 사용할 수 없습니다.

    집계함수는 그룹으로 지정된 필드를 대상으로 한 Having 절에 사용할 수 있습니다.

    그러므로 아래와 같이 작성해야 합니다.

    SELECT 이름
    FROM 자격증
    GROUP BY 이름
    HAVING COUNT(*) >= 2;

    오늘도 즐거운 하루 되세요.

· 5MB 이하의 zip, 문서, 이미지 파일만 가능합니다.
· 폭언, 욕설, 비방 등은 관리자에 의해 경고없이 삭제됩니다.