SQL 테스트 - group by
업데이트:
문제
동물 보호소에 들어온 동물 중 고양이와 개가 각각 몇 마리인지 조회하는 SQL문을 작성해주세요. 이때 고양이를 개보다 먼저 조회해주세요.
예제
| ANIMAL_ID | ANIMAL_TYPE | DATETIME | INTAKE_CONDITION | NAME | SEX_UPON_INTAKE | |———–|————-|———————|——————|——|—————–| | A373219 | Cat | 2014-07-29 11:43:00 | Normal | Ella | Spayed Female | | A377750 | Dog | 2017-10-25 17:17:00 | Normal | Lucy | Spayed Female | | A354540 | Cat | 2014-12-11 11:48:00 | Normal | Tux | Neutered Male |
출력
| ANIMAL_TYPE | count | |————-|——-| | Cat | 2 | | Dog | 1 |
문제풀이
해당 문제는 group by 를 사용하여 카운트를 하는 문제인데 이 문제에서 여러사람들이 의문을 가졌던 부분이 정렬에 대한 부분이었다. 사실 정렬을 하던 안하던 cat이 먼저 나오게되어있는데 이 문제에서는 정렬문을 사용해야지만 정답으로 인정해준다.
왜 이렇게 했나 라는 의문이 있지만 코드는 사실 의도하는바가 명확할수록 좋다고 생각한다. 아마 문제를 낸 사람의 의도도 그러하지않았을까 추측해본다.
정답
select ANIMAL_TYPE, count(ANIMAL_TYPE) count from ANIMAL_INS
group by ANIMAL_TYPE
order by ANIMAL_TYPE
댓글남기기