※ 모든 코드는 Oracle을 기준으로 작성되었습니다.
1. 최댓값 구하기
문제 설명
Solution
1
2
3
4
5
|
SELECT DATETIME
FROM (SELECT DATETIME
FROM ANIMAL_INS
ORDER BY DATETIME DESC)
WHERE ROWNUM = 1;
|
코드해석
서브쿼리를 활용하여 보호 시작일을 내림차순 정렬합니다. 날짜를 내림차순 정렬하게 되면 가장 최근 날짜가 맨 위에 위치하게 됩니다. 정렬된 테이블에서 행 번호가 1인 행을 추출합니다.
2. 최솟값 구하기
문제 설명
Solution
1
2
3
4
5
|
SELECT DATETIME
FROM (SELECT DATETIME
FROM ANIMAL_INS
ORDER BY DATETIME)
WHERE ROWNUM = 1;
|
코드해석
1번과 반대되는 문제입니다. 역시 서브쿼리를 활용하여 보호 시작일을 오름차순 정렬합니다. 날짜를 오름차순 정렬하면 가장 오래된 날짜가 맨 위에 위치하게 됩니다.
3. 동물 수 구하기
문제 설명
Solution
1
2
|
SELECT COUNT(*)
FROM ANIMAL_INS;
|
코드해석
해당 테이블에 행이 몇 개인지를 묻는 질문이나 마찬가지입니다. 전체 행의 개수는 COUNT(*)를 사용하여 집계할 수 있습니다.
4. 중복 제거하기
문제 설명
Solution
1
2
|
SELECT COUNT (DISTINCT NAME)
FROM ANIMAL_INS;
|
코드해석
COUNT 함수를 사용시 DISTINCT를 함께 사용하면 중복을 제거하여 특정 행 내에서 유일한(Unique한) 값의 개수를 집계할 수 있습니다. 이때 NULL인 경우는 집계하지 않습니다.
'繩鋸木斷水滴石穿 > SQL' 카테고리의 다른 글
[프로그래머스] SQL 고득점 Kit : JOIN (0) | 2020.02.06 |
---|---|
[프로그래머스] SQL 고득점 Kit : GROUP BY (0) | 2020.02.02 |
[프로그래머스] SQL 고득점 Kit : String, Date (0) | 2020.02.01 |
[프로그래머스] SQL 고득점 Kit : IS NULL (0) | 2020.02.01 |
[프로그래머스] SQL 고득점 Kit : SELECT (0) | 2020.02.01 |