https://school.programmers.co.kr/learn/courses/30/lessons/59415

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

SELECT datetime
FROM animal_ins
ORDER BY datetime DESC
LIMIT 1

 

이로서 프로그래머스 SQL 1레벨 문제를 전부 풀었습니다.

2레벨 3레벨은 주말에 풀어볼게요!

 

728x90

https://school.programmers.co.kr/learn/courses/30/lessons/59034

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

SELECT *
FROM animal_ins
ORDER BY animal_id ASC

 

모든 정보를 조회하는 문제라 정말 간단히 끝납니다.

728x90

https://school.programmers.co.kr/learn/courses/30/lessons/59039

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

SELECT animal_id
FROM animal_ins
WHERE NAME is NULL
ORDER BY animal_id ASC
728x90

https://school.programmers.co.kr/learn/courses/30/lessons/59035

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

SELECT name, datetime
FROM animal_ins
ORDER BY animal_id DESC

 

728x90

https://school.programmers.co.kr/learn/courses/30/lessons/59036

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

 

 

SELECT animal_id, name
FROM animal_ins
WHERE intake_condition = "Sick"
728x90

https://school.programmers.co.kr/learn/courses/30/lessons/59405

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

머리를 좀 써야하는 문제입니다. 두가지 풀이가 가능합니다.

 

 

SELECT name
FROM animal_ins
ORDER BY datetime ASC
LIMIT 1

좀 더 쉬운 풀이는 그냥 datetime을 기준으로 정렬하고 LIMIT를 사용해 딱 하나의 row만 출력하는 겁니다.

datetime으로 오름차순 정렬후 맨 위의 row만 출력하기 때문에 당연히 가장 먼저 들어온 동물의 name이 출력됩니다.

 

 

SELECT name
FROM (
    SELECT name, RANK() OVER(ORDER BY datetime ASC) AS date_rank
    FROM animal_ins
    ) AS R
WHERE R.date_rank = 1

조금 더 복잡한 풀이는 datetime을 기준으로 정렬하고, date_rank라는 새로운 column을 RANK()를 통해 만듭니다.

즉 테이블이 동물의 name과 datetime의 순위 두개의 column을 가지게 되고 이 때 date_rank가 1인 row가 가장 먼저 들어온 동물의 정보가 됩니다.

728x90

https://school.programmers.co.kr/learn/courses/30/lessons/59037

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

SELECT animal_id, name
FROM animal_ins
WHERE intake_condition != "Aged"
ORDER BY animal_id
728x90

https://school.programmers.co.kr/learn/courses/30/lessons/59404

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

SQL 문제들이 대체로 알고리즘 문제 보다는 쉬운데다가 기본적인 SQL 사용법을 알려주는 문제들이다 보니 개념이 하나씩만 추가됩니다. 

name과 datetime 두개를 기준으로 정렬을 합니다. 단, datetime의 경우는 거꾸로 내림차순 정렬이 필요합니다.

 

SELECT animal_id, name, datetime
FROM animal_ins
ORDER BY name, datetime desc
728x90

+ Recent posts