SQL 고득점 Kit: 인기있는 아이스크림
Reference: https://school.programmers.co.kr/learn/courses/30/lessons/151136 문제 설명 ✅ FIRSTHALF 테이블은 아이스크림 가게의 상반기 주문 정보를 담은 테이블입니다. FIRSTHALF 테이블 구조는
Reference: https://school.programmers.co.kr/learn/courses/30/lessons/133024
문제 설명 ✅
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 문을 작성해 주세요.
예시 ✅
예를 들어 FIRST_HALF 테이블이 다음과 같을 때
| SHIPMENT_ID | FLAVOR | TOTAL_ORDER | | :-: | :-: | :-: | | 101 | chocolate | 3200 | | 102 | vanilla | 2800 | | 103 | mint_chocolate | 1700 | | 104 | caramel | 2600 | | 105 | white_chocolate | 3100 | | 106 | peach | 2450 | | 107 | watermelon | 2150 | | 108 | mango | 2900 | | 109 | strawberry | 3100 | | 110 | melon | 3150 | | 111 | orange | 2900 | | 112 | pineapple | 2900 |
상반기 아이스크림 맛을 총 주문량을 기준으로 내림차순 정렬하고 총 주문량이 같은 경우 출하 번호를 기준으로 오름차순 정렬하면 chocolate, melon, white_chocolate, strawberry, mango, orange, pineapple, vanilla, caramel, peach, watermelon, mint_chocolate 순서대로 조회되어야 합니다. 따라서 SQL 문을 실행하면 다음과 같이 나와야 합니다.
| FLAVOR | | :-: | | chocolate | | melon | | white_chocolate | | strawberry | | mango | | orange | | pineapple | | vanilla | | caramel | | peach | | watermelon | | mint_chocolate |
통과한 코드 ✅
SELECT FLAVOR FROM FIRST_HALF
ORDER BY TOTAL_ORDER DESC, SHIPMENT_ID ASC보충 ✅
Reference: https://docs.oracle.com/cd/E35976_01/server.740/es_eql/src/cidql_order_by.html
ORDER BY 절은 여러 개의 컬럼을 지정하여 정렬 우선순위를 결정할 수 있습니다. 위 문제처럼 총 주문량(TOTAL_ORDER)이 같을 때 출하 번호(SHIPMENT_ID)로 2차 정렬을 수행하는 것이 대표적인 사례입니다.
첫 번째 기준 컬럼의 값이 동일한 레코드들에 한해서만 두 번째 기준 컬럼을 적용하여 순서를 결정합니다. 각 컬럼 뒤에 ASC나 DESC를 개별적으로 지정할 수 있습니다. 하나는 내림차순, 하나는 오름차순으로 설정하는 등 자유로운 조합이 가능합니다. 정렬 방향과 상관없이 NULL 값은 항상 가장 마지막에 정렬되며, NaN 값은 NULL보다도 뒤에 위치하게 됩니다.
More to read
프론트엔드와 백엔드 사이
HTTP 상태 코드는 프론트엔드에서 백엔드로 보냈던 요청의 수행 결과를 의미하는 일종의 약속이며, API를 구성하는 핵심 요소 중 하나입니다. 상태 코드와 관련하여, 백엔드는 잘 모르는 프론트엔드의 슬픈 사정이 있습니다.아래는 요청이 실패했음에도, 백엔드에서 상태 코드
JWT토큰 관리 방식 톺아보기
0. 들어가며 🎯 서비스에 접근하려는 사용자가 누구인지 확인하는 과정을 사용자 인증이라고 합니다. 인증된 사용자에게 주어진 권한을 확인하는 작업은 인가라고 부릅니다. 이번 글에서는 인가는 다루지 않습니다. 사용자 인증에는 많은 방식이 있지만, 오늘은 세션 인증 방
A2AA2A / MCP 멀티 에이전트 오케스트레이션
0. 들어가며 ✍️ Google for Developers에, 레스토랑 공급망 시나리오로 엮은 6대 프로토콜(MCP, A2A, UCP, AP2, A2UI, AG-UI)에 대한 가이드가 게시된 이후, MCP와 A2A부터 구현해 보는 것이 좋을 것 같다는 생각이 들었습니