반응형
최댓값 구하기
SELECT MAX(DATETIME) FROM ANIMAL_INS
가장 높은 DATETIME의 값을 가진 튜플을 조회합니다.
아마도 가장 높은 DATETIME을 가진 튜플이 2개 이상이라면 그 모든 튜플을 반환하겠죠?
최솟값 구하기
SELECT MIN(DATETIME) FROM ANIMAL_INS
동물 수 구하기
SELECT COUNT(ANIMAL_ID) count FROM ANIMAL_INS
모든 튜블의 수를(동물의 수) 조회하는 것입니다.
주의해야할 점은 ANIMAL_ID에는 NULL 값이 들어올 수 없도록 정해져있기 때문에 가능했습니다.
만약에 ANIMAL_ID의 NULLABLE이 NAME 처럼 TRUE 였고, ANIMAL_ID 에 NULL이 들어있는 동물이 두 마리 였을 경우에는,
위의 쿼리에서 count는 2를 반환하겠죠? (4 - 2)
SELECT 뒤의 count 소문자는 aliasing(조회 테이블에서 컬럼의 이름을 count로 바꾸기) 입니다.
SELECT COUNT(ANIMAL_ID) AS count FROM ANIMAL_INS
처럼 AS를 생략하지 않고 적어줄 수도 있습니다.
중복 제거하기
SELECT COUNT(A.NAME) count
FROM (SELECT NAME FROM ANIMAL_INS GROUP BY NAME) AS A
WHERE NAME IS NOT NULL;
NAME 기준으로 그룹핑한 테이블에서 NAME을 COUNT합니다.
또한 NAME IS NOT NULL로 제한해줍니다.
그룹핑한 테이블은, 기존 테이블에서 같은 NAME을 가진 동물들이 하나의 튜플로 합쳐져서 새로운 테이블로 생성된 것입니다.
반응형
'데이터베이스 > SQL' 카테고리의 다른 글
[SQL][프로그래머스 고득점KIT] IS NULL (0) | 2022.08.02 |
---|---|
[SQL][프로그래머스 고득점KIT] GROUP BY (0) | 2022.07.23 |
[SQL][프로그래머스 고득점KIT] SELECT (0) | 2022.07.20 |
[SQL] 프로그래머스 SQL 고득점Kit 소개 (0) | 2022.07.20 |