💾Database/🐬MySQL
[SQL] 중복된 데이터출력하기
Cocoon_
2021. 4. 3. 19:17
반응형
만약 위와 같은 데이터가 있다고 할 때 이름이 중복된 동물들의 모든 아이디를 조회해보려고 합니다.
그러나 아래와 같이 작성하여 실행할 시 이름이 중복된 동물들의 동물 아이디와 이름이 출력되지만
중복된 동물들의 모든 아이디가 출력되지 않았습니다.
SELECT ANIMAL_ID, NAME
FROM ANIMAL_INS
GROUP BY NAME
HAVING COUNT(NAME) > 1
ORDER BY NAME
따라서 WHERE 절의 in을 사용해서 GROUP BY로 NAME을 묶어서 중복이 1개 이상이라는 조건을 설정합니다.
아래와 같이 작성하면 이름이 중복된 동물들의 모든 아이디를 조회할 수 있습니다.
SELECT ANIMAL_ID, NAME
FROM ANIMAL_INS
WHERE NAME in (
SELECT NAME
FROM ANIMAL_INS
GROUP BY NAME
HAVING COUNT(NAME) > 1
)
ORDER BY NAME
반응형