SELECT DATETIME as '시간' from ANIMAL_INS
order by DATETIME desc limit 1;
SELECT MAX(DATETIME) as '시간' from ANIMAL_INS;
가장 늦게 동물 보호소에 들어온 동물의 시간을 구하는 문제이다.DATETIME이 가장 늦은 시간을 구하기 위해서는 2가지가 있다.
SELECT DATETIME as '시간' from ANIMAL_INS
order by DATETIME limit 1;
SELECT MIN(DATETIME) as '시간' from ANIMAL_INS;
SELECT count(ANIMAL_ID) as 'count' from ANIMAL_INS;
동물 보호소에 등록되어있는 동물의 수를 구하기 위해서 animal_id 를 count() 해주었다. 여기서는 모든 동물에게 고유한 animal_id 가 부여되어 있다는 것을 가정한 것이다. 그런데 animal_id 가 아직 부여되지 않은 동물이 있을 수도 있다고 생각할 수 있다. 그럴때에는 행 자체 개수를 세주는 방법이 있다.
count(*)의 경우에는 count({아무숫자})와 같다고 하는데 정확한 이유는 찾지 못했다.
SELECT count(distinct(NAME)) from ANIMAL_INS;
동물 보호소에 존재하는 동물의 이름의 unique()를 구한다고 이해했다. mysql에서는 unique() 가 아닌 distint를 사용해서 고유값을 구할 수 있다. 그런데 생각보다 unique() 랑 더욱 비슷한 것을 알게 되었다.
단순히 distinct column 을 실행하게 되면 NULL값이 포함되어 표시된다. 이것은 unique() 와 똑같다. 하지만 nunique()와 count(distinct~)를 하게 되면 NULL이 제외된 개수를 반환해 준다.
(distinct column / distinct(column) 모두 가능)