[SQL] Programers SELECT 문제 풀이 8번 (MySQL LIMIT 함수)

juyeon lee·2024년 1월 12일

SQL TEST

목록 보기
6/8

프로그래머스 SQL 고득점 Kit

🖥️SELECT 8번

상위 n개 레코드


🔹문제
상반기 아이스크림 총주문량이 3,000보다 높으면서 아이스크림의 주 성분이 과일인 아이스크림의 맛을 총주문량이 큰 순서대로 조회하는 SQL 문을 작성해주세요.

🗝️정답 (1)

SELECT NAME FROM ANIMAL_INS
ORDER BY DATETIME DESC
LIMIT 1

🗝️정답 (2)

SELECT NAME FROM ANIMAL_INS
WHERE DATETIME = (SELECT MIN(DATETIME FROM ANIMAL_INS)

💡오답 노트

  1. WHERE절에 중첩 SELECT문을 이용하는 방법 알지 못함
    ➡️MIN(DATETIME) 조회하는 SELECT문 이용 가능

📖LIMIT 함수


결과 출력 시 ROW를 제한하는 역할
➡️ 페이징 처리 쿼리에 사용됨

시작 지점을 지정하고 싶다면?
➡️ OFFSET 옵션 이용

  • 몇 번째 행부터 출력할지 결정
  • OFFSET 값도 0부터 시작, 첫 번째 행의 데이터를 가리키는 값 = 0

기본 구조

SELECT * FROM USER LIMIT N
SELECT * FROM USER LIMIT N,M

예시 (1)

USER 테이블의 첫 번째 값부터 세 번째 결과까지 출력

SELECT * FROM USER
LIMIT 3

예시 (2) OFFSET 옵션 지정

SELECT * FROM USER
LIMIT 0,3

위의 두 코드는 같은 결과를 출력한다!

0개의 댓글