-
[MySQL-일기장] COUNT(*) 는 NULL을 포함한다SQL 2021. 7. 22. 22:48
2021. 07. 22 SQL 일기
> COUNT(*)
COUNT(*) 함수는 NULL VALUE를 포함하여 계산한다. 너무 당연한 얘긴데 문제 풀때마다 잊는 듯 하다.
> GROUPBY(Col)
GROUP BY {column명} 후에 Count(*) 하는 경우에는 Null값은 Null값대로 그룹이 생성될 터이니, Null은 제거하고 Count 해줄 것이다. (아니 물론 HAVING 에 VALUE를 지정해줘야겠지만...)
> 프로그래머스 코딩테스트 연습 > GROUP BY > 고양이와 개는 몇마리 있을까
문제를 잘 읽자. 결과 값은 같을지언정 나는 틀렸다.
동물 보호소에 들어온 동물 중 고양이와 개가 각각 몇 마리인지 조회하는 SQL문을 작성해주세요. 이때 고양이를 개보다 먼저 조회해주세요.
-- 틀린답이라고 한다 SELECT ANIMAL_TYPE, COUNT(ANIMAL_TYPE) AS COUNT FROM ANIMAL_INS GROUP BY ANIMAL_TYPE HAVING ANIMAL_TYPE = 'Cat' or ANIMAL_TYPE = 'Dog';
-- 이것은 맞는답, 문제의 의도가 ORDER BY를 쓰라는 것인가보다. SELECT ANIMAL_TYPE, COUNT(ANIMAL_TYPE) AS COUNT FROM ANIMAL_INS GROUP BY ANIMAL_TYPE ORDER BY ANIMAL_TYPE;
결과값은 같다.
'SQL' 카테고리의 다른 글
[HackerRank] Top Competitors (0) 2021.09.28 [HackerRank] Binary Tree Nodes (0) 2021.09.23 [HackerRank] Weather Observation Station 5 (0) 2021.09.23 [필기] DB - SQL쿼리 - ORM (0) 2021.07.29 [sqlalchemy] 테이블간 relationship 설정 (0) 2021.07.26