1. 최댓값구하기
가장 최근에 들어온 동물은 언제 들어왔는지 조회하는 SQL 문을 작성해주세요.
sol (1) ORDER BY를 사용
SELECT DATETIME
FROM ANIMAL_INS
ORDER BY DATETIME DESC LIMIT 1
<SELECT문>에서 풀었듯이,
DATETIME을 내림차순으로 정렬하면 가장 최근 날짜가 가장 위에 오게 됨
따라서, "LIMIT 1"을 사용함으로써 하나!만
sol (2) MAX 함수 사용
SELECT MAX(DATETIME)
FROM ANIMAL_INS
최댓값 : SELECT MAX(컬럼) FROM 테이블
참고로, AS(Alias)를 이용하여 컬럼명 정의할 수 있음
ex) SELECT MAX(DATETIME) AS date FROM ANIMAL_INS 라 쓰면, 출력할 컬럼의 명을 date로 지정한다는 의미!
2. 최솟값 구하기
동물 보호소에 가장 먼저 들어온 동물은 언제 들어왔는지 조회하는 SQL 문을 작성해주세요.
sol (1) ORDER BY를 사용
SELECT DATETIME
FROM ANIMAL_INS
ORDER BY DATETIME LIMIT 1
DATETIME을 ORDER BY해주면, 기본 설정이 오름차순이므로 오름차순 정렬
따라서 가장 먼저 들어온 날짜(맨 처음 날짜)가 맨 위에 오게 된다!
따라서 LIMIT 1 을 사용함으로써 하나!만
sol (2) MAX 함수 사용
SELECT MIN(DATETIME)
FROM ANIMAL_INS
최소값 : SELECT MIN(컬럼) FROM 테이블
3. 동물 수 구하기 => 집계함수 (COUNT)
동물 보호소에 동물이 몇 마리 들어왔는지 조회하는 SQL 문을 작성해주세요.
SELECT COUNT
FROM ANIMAL_INS
수를 세는 함수 : COUNT
4. 중복 제거하기 - DISTINCT
동물 보호소에 들어온 동물의 이름은 몇 개인지 조회하는 SQL 문을 작성해주세요. 이때 이름이 NULL인 경우는 집계하지 않으며 중복되는 이름은 하나로 칩니다.
SELECT COUNT(DISTINCT NAME)
FROM ANIMAL_INS
WHERE NAME IS NOT NULL
몇 개인지? => COUNT
중복된 이름은 하나로 친다 == 중복 제거 => DISTINCT 함수 사용
- DISTINCT 칼럼명 : 해당 칼럼에서 중복된 값 제거
NAME이 NULL인 경우는 집계하지 않으므로, 조건문 사용
'Computer Science > 자료구조와 알고리즘' 카테고리의 다른 글
[프로그래머스\SQL 고득점 kit] GROUP BY - 입양 시각 구하기(1) 풀이 3가지 mysql (0) | 2021.12.18 |
---|---|
[프로그래머스\SQL 고득점 kit] GROUP BY - 고양이와 개는 몇마리 있을까, 동명 동물 수 찾기 (mysql) (0) | 2021.12.17 |
[프로그래머스\SQL 고득점 kit] SELECT문 :Mysql(1~7번), Oracle(7번) (0) | 2021.12.12 |
[Python] 수행시간과 메모리 사용량 측정 (0) | 2021.07.16 |
[프로그래머스/JAVA] 해시 - Lv1 완주하지 못한 선수 (2) | 2021.07.14 |