MySQL- 중복 제거하기, 동명 동물 수 찾기

박경희·2023년 12월 23일

코딩테스트

목록 보기
3/69

문제1 - 중복 제거하기

동물 보호소에 들어온 동물의 이름은 몇 개인지 조회하는 SQL 문을 작성해주세요.
이때 이름이 NULL인 경우는 집계하지 않으며 중복되는 이름은 하나로 칩니다.


정답

SELECT COUNT(DISTINCT NAME) count 
FROM ANIMAL_INS;
  • count(*): 전체행 숫자 계산일때는 null을 포함한다.
  • 하지만 특정 컬럼의 레코드 갯수를 셀 때는 null을 포함하지 않고 센다.
  • distinct절은 중복을 제거한다.

문제2- 동명 동물 수 찾기

동물 보호소에 들어온 동물 이름 중 두 번 이상 쓰인 이름과 해당 이름이 쓰인 횟수를 조회하는 SQL문을 작성해주세요. 이때 결과는 이름이 없는 동물은 집계에서 제외하며, 결과는 이름 순으로 조회해주세요.

✅ 중복된 항목 개수 카운트

SELECT 중복값_컬럼명, COUNT(*) FROM 테이블_명 GROUP BY 중복값_컬럼명 HAVING COUNT(*) > 2;

정답

SELECT NAME, COUNT(*)
FROM ANIMAL_INS
GROUP BY NAME HAVING COUNT(name)  >= 2
ORDER BY NAME; //이름순으로 조회

0개의 댓글