JPA & SQL

[MySQL/JPA] LIMIT 구문을 사용 - 가장 최근/최신 데이터 가져오기(feat.Aurora)

김먼저 2023. 2. 8. 09:56

 

가장 최근/최신 데이터를 "1건"을 가져오기 위해서는 여러 가지 방법이 있습니다.

 

(DB마다 조금씩 다르니 확인하고 적용시키는 것을 추천드립니다.)

 

  • 분석 함수 사용 - ROW_NUMBER(), RANK()
  • 서브 쿼리
  • LIMIT 구문 사용

 

 

저는 3개 다 사용해봤지만 가장 편리하고 쉬운 LIMIT 구문을 사용해보겠습니다.

 

 

테이블에서 최신 데이터를 가져오려면 일단 날짜를 기준으로 뽑아야겠죠??

 

 

저는 아래와 같이 작성했습니다.

 

SELECT * FROM 테이블명
WHERE 조건
ORDER BY 생성날짜 DESC, "다른조건" DESC
LIMIT 0, 1;

LIMIT 사용법에는 2가지가 있는데요,

 

1. LIMIT x;

 

  - 조회된 결과(Result Grid)에서 x번째 row Data를 가져옵니다.

 

2. LIMIT x,y;

 

  - LIMIT x : offset, y : 표기할 데이터 갯수

  - 페이징 처리할 때와 비슷한데,

     100개 데이터가 조회  → LIMIT 2,1; → 3번째 데이터 조회

       LIMIT 2,2; → 3,4번째 데이터 조회

       LIMIT 10,5; →  11~15번째 데이터 조회

 

 

따라서, 최신/최근 데이터를 조회하고 싶다면

 

LIMIT 1;  또는 LIMIT 0, 1;

 

(MySQL, AWS-Aurora 에서는 적용 되는 것을 확인했습니다.)

 

끝!!