반응형
Group By에서 마지막 레코드를 가져올 때 MySQL로 사용하는 방법을 살펴 보겠습니다. 예를 들어 이 테이블 세트를 보겠습니다.
id category_id post_title
-------------------------
1 1 Title 1
2 1 Title 2
3 1 Title 3
4 2 Title 4
5 2 Title 5
6 3 Title 6
제목 3, 제목 5 및 제목 6인 각 범주에서 마지막 데이터를 얻을 수 있기를 원합니다. 범주별로 게시물을 가져 오려면 MySQL Group By 키워드를 사용합니다.
select * from posts group by category_id
그러나 이 쿼리에서 얻은 결과는 다음과 같습니다.
id category_id post_title
-------------------------
1 1 Title 1
4 2 Title 4
6 3 Title 6
그룹 기준은 항상 결과 집합에서 그룹의 첫 번째 레코드를 반환합니다.
SELECT id, category_id, post_title
FROM posts WHERE id IN (
SELECT MAX(id) FROM posts GROUP BY category_id
);
각 그룹에서 ID가 가장 높은 게시물을 반환합니다.
id category_id post_title
-------------------------
3 1 Title 3
5 2 Title 5
6 3 Title 6
반응형
'SW > MySQL' 카테고리의 다른 글
MySQL : 루트 암호 재설정 방법, 명령어 (0) | 2020.09.26 |
---|---|
MySQL : 가장 높은 ID 값으로 로우 데이터 업데이트 하는 방법 : 예제 (0) | 2020.03.08 |
MySQL : IN 연산자 : 순서 유지 : 방법, 예제, 사용법 (0) | 2020.03.06 |
MySQL : 제약조건 : 개념, 예제, 종류 (0) | 2020.02.04 |
MySQL : join : 개념, 예제, 사용방법, 장점 (0) | 2020.02.03 |