SQL 문제

[프로그래머스 SQL] 인기있는 아이스크림

빙수빈수 2023. 9. 23. 11:51

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

 

프로그래머스

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

programmers.co.kr

[문제]

FIRST_HALF 테이블은 아이스크림 가게의 상반기 주문 정보를 담은 테이블입니다.FIRST_HALF 테이블 구조는 다음과 같으며, SHIPMENT_ID, FLAVOR, TOTAL_ORDER는 각각 아이스크림 공장에서 아이스크림 가게까지의 출하 번호, 아이스크림 맛, 상반기 아이스크림 총주문량을 나타냅니다.

 

NAME TYPE NULLABLE
SHIPMENT_ID INT(N) FALSE
FLAVOR VARCHAR(N) FALSE
TOTAL_ORDER INT(N) FALSE

 

 상반기에 판매된 아이스크림의 맛을 총주문량을 기준으로 내림차순 정렬하고 총주문량이 같다면 출하 번호를 기준으로 오름차순 정렬하여 조회하는 SQL 문을 작성해주세요.

 

[코드]

USE programmers;

DROP TABLE IF EXISTS FIRST_HALF;

#테이블 생성
CREATE TABLE FIRST_HALF (
	SHIPMENT_ID INT NOT NULL PRIMARY KEY,
    FLAVOR VARCHAR(500) NOT NULL,
    TOTAL_ORDER INT NOT NULL
);

#값 삽입(일부)
INSERT INTO FIRST_HALF VALUES (101,'chocolate',3200);
INSERT INTO FIRST_HALF VALUES (102,'vanilla',2800);
INSERT INTO FIRST_HALF VALUES (103,'mint_chocolate',1700);
INSERT INTO FIRST_HALF VALUES (104,'caramel',2600);
INSERT INTO FIRST_HALF VALUES (105,'white_chocolate',3100);
INSERT INTO FIRST_HALF VALUES (106,'peach',2450);
INSERT INTO FIRST_HALF VALUES (107,'watermelon',2150);

#답
SELECT FLAVOR FROM FIRST_HALF
ORDER BY TOTAL_ORDER DESC, SHIPMENT_ID ASC;

 

[고찰]

 이번 문제는 SQL 문을 공부하면서 푼 첫 문제이다 보니 테이블 생성과 값 삽입까지 코드로 작성해 보았다. 아직은 SELECT문 초반이다 보니 어렵지 않게 풀 수 있었다.