SQL/문제풀이
동명의 동물만 쿼리하여 조회하는 SQL문제 해결 과정
너어디사니
2024. 4. 19. 20:13
- 해당 문제의 내용은 같은 이름의 동물들을 쿼리 하는 SQL 문제이다
- 처음에 그래서 간단하게 name 을 기준으로 그룹을 묶은 이후로 카운트를 하는 방식을 생각했다
SELECT NAME, COUNT(*) as COUNT
FROM ANIMAL_INS
GROUP BY NAME
ORDER BY NAME
요로코롬 작성을 했는데 실패를 했다 뭔가 해서 봤는데 자세히 보니까
이름이 없는 동물이 있다는 것이었다 그러면 이름이 없는 동물은 값이 없을 테니까 null을 처리해야 겠다고 판단하였고
SELECT NAME, COUNT(*) as COUNT
FROM ANIMAL_INS
WHERE NAME is not null
GROUP BY NAME
ORDER BY NAME
이런식으로 다시 작성을 했는데 또 실패를 했다 그래서 문제를 다시 한번 살폈는데 처음에는 2번 이상 쓰인 동물하고 1번만 쓰인 동물 모두 쿼리를 하면 되는 줄 알았는데 알고 보니까 2번 이상 쓰인 동물의 이름만 쿼리를 하는 것이었다
그래서 해당 부분을 적용하기 위해서 having절을 이용하여 쿼리를 작성하였다
SELECT NAME, COUNT(*) as COUNT
FROM ANIMAL_INS
WHERE NAME is not null
GROUP BY NAME HAVING COUNT(*) >= 2
ORDER BY NAME
이렇게 카운트를 샛을 때 2 이상인 이름만 그룹화 한 후에 처리를 하도록
하니까 정답이 뜨더라...
오늘의 결론
- 문제를 잘 보자