제로베이스/코딩테스트

[프로그래머스 mysql oracle] 역순 정렬하기

진주네카라 2022. 7. 2. 17:28
728x90

역순 정렬하기

문제 설명

더보기

ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디, 생물 종, 보호 시작일, 보호 시작 시 상태, 이름, 성별 및 중성화 여부를 나타냅니다.

동물 보호소에 들어온 모든 동물의 이름과 보호 시작일을 조회하는 SQL문을 작성해주세요. 이때 결과는 ANIMAL_ID 역순으로 보여주세요.

..이하 생략

문제는 Kaggle "Austin Animal Center Shelter Intakes and Outcomes"에서 제공하는 데이터를 사용하였으며 ODbL 적용을 받습니다.


문제 보러가기

코딩테스트 연습 - 역순 정렬하기

ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디

programmers.co.kr

문제이해

모든 동물의 이름과 보호 시작일을 조회하는데 ANIMAL_ID 내림차순(desc)이다.

풀이코드

sql

-- 코드를 입력하세요
SELECT A.NAME, A.DATETIME
FROM ANIMAL_INS AS A
ORDER BY ANIMAL_ID DESC;



실행 결과

전체 데이터 중 일부 캡쳐



진짜 id 역순 맞아?


확인코드

sql 1

-- 코드를 입력하세요
SELECT A.ANIMAL_ID, A.NAME, A.DATETIME
FROM ANIMAL_INS AS A
ORDER BY ANIMAL_ID DESC;


id 컬럼을 추가해서 보면 된다


실행 결과 1



잘 맞네용



sql 2

전체 데이터 개수 조회
서브쿼리문 별칭을 지정 하지 않으면 Every derived table must have its own alias 요런 오류가 발생한다.

SELECT COUNT(*) AS CNT(카운트함수.별칭) FROM (SELECT 서브쿼리문) B(서브쿼리문.별칭);


count 함수 사용

-- 코드를 입력하세요
SELECT COUNT(*) AS CNT FROM (
SELECT A.ANIMAL_ID, A.NAME, A.DATETIME
FROM ANIMAL_INS AS A
ORDER BY ANIMAL_ID DESC) B;


실행 결과 2

전체 데이터는 100개





레벨 1은 껌이지

728x90