[PRO] 상위 n개 레코드 - Lv1

vvo_ter·2023년 10월 27일
0

SQL 고득점 Kit

목록 보기
3/24
post-custom-banner

💻 SQL 고득점 Kit > SELECT > 문제


✏️ 참고 개념

페이징 처리

MySQL

LIMIT을 사용하여 일정 개수만 조회한다

LIMIT 1 -- 상위 데이터 1개만
LIMIT 1, 10 -- 두번째 데이터부터 10개의 데이터(인덱스 0부터 시작)

Oracle

ROWNUM을 사용하여 일정 개수만 조회한다

ROWNUM = 1 -- 상위 데이터 1개만

👉 제출 코드

MySQL

SELECT NAME
FROM ANIMAL_INS
ORDER BY DATETIME ASC LIMIT 1
  • 2번째에서 12번째까지 조회하고 싶을 때
SELECT NAME
FROM ANIMAL_INS
ORDER BY DATETIME ASC LIMIT 1, 10

Oracle

SELECT NAME
FROM (SELECT NAME
     FROM ANIMAL_INS
     ORDER BY DATETIME ASC)
WHERE ROWNUM = 1
  • 2번째에서 12번째까지 조회하고 싶을 때
-- 정렬한 테이블 A에 대해 새로운 ROWNUM을 할당하고 R에 대해 조건을 걸어줘야 한다
SELECT NAME
FROM (SELECT ROWNUM R, A.*
      FROM (SELECT NAME
            FROM ANIMAL_INS
            ORDER BY DATETIME ASC) A)
WHERE R BETWEEN 2 AND 12
profile
's Coding Memory
post-custom-banner

0개의 댓글