반응형
해설 : 이름 별 동명 동물 마리 수를 조회해야 하기 때문에 NAME 을 기준으로 그룹핑 되어야 한다.
NAME을 기준으로 그룹핑 하여, NAME과 NAME 별로 그룹핑된 컬럼 수를 조회하는 서브테이블(A) 을 만들어두고
이 테이블의 COUNT 필드값이 2 이상인 경우에만 조회를 하도록 조건을 걸어서 동명 동물 정보만 출력할 수 있게 하였다. 그리고 마지막에 NAME을 기준으로 오름차순 정렬했고, 최종 적으로 A 테이블에서 이 문제에서 원하는 정보인 NAME과 COUNT 필드를 조회할 수 있게 하면 된다.
SELECT A.NAME, A.COUNT
FROM
(SELECT NAME, COUNT(NAME) COUNT
FROM ANIMAL_INS
GROUP BY NAME) AS A
WHERE A.COUNT>1
ORDER BY A.NAME;
SELECT : 조회하라
A.NAME, A.COUNT : A 테이블의 "NAME" , "COUNT" 필드를
FROM
(SELECT NAME, COUNT(NAME) COUNT
FROM ANIMAL_INS
GROUP BY NAME) AS A
: ANIMAL_INS 테이블의 NAME을 기준으로 그룹핑 하여, NAME과 NAME 별로 그룹핑된 컬럼 수를 조회하는 테이블로 부터 (조회 시 COUNT(NAME) 필드는 필드명을 "COUNT"로 정하고, 이 테이블의 이름은 A로 지정함)
WHERE A.COUNT>1 : A 테이블의 "COUNT" 필드 값이 1을 초과하는 레코드에만
ORDER BY A.NAME : A 테이블의 "NAME" 필드를 기준으로 오름차순 하여
반응형
'DB > SQL Problems' 카테고리의 다른 글
[SQL-String, Date, 난이도 중] 오랜 기간 보호한 동물(2) (0) | 2020.12.08 |
---|---|
[SQL-GROUP BY, 난이도 중하] 고양이와 개는 몇 마리 있을까 (0) | 2020.12.08 |
[SQL-SUM,MAX,MIN, 난이도 하] 최댓값 구하기 (0) | 2020.12.08 |
[SQL-SUM,MAX,MIN, 난이도 하] 최솟값 구하기 (0) | 2020.12.08 |
[SQL-GROUP BY, 난이도 중상] 입양 시각 구하기(2) (0) | 2020.12.07 |
댓글