가장 최근/최신 데이터를 "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 에서는 적용 되는 것을 확인했습니다.)
끝!!
'JPA & SQL' 카테고리의 다른 글
[MySQL Workbench] 개행문자 넣는 방법 (feat. MariaDB) (0) | 2022.11.24 |
---|---|
[MySQL Workbench] 테이블에 Null 값 넣기 (0) | 2022.10.05 |
[JPA&SQL] QueryDSL - 적용하기 (0) | 2022.08.10 |
[JPA] JPA 반환타입 정리 (0) | 2022.07.21 |
[JPA/SQL] 현재 시간과 비교해서 데이터 가져오기 (0) | 2022.07.20 |