GROUP BY를 사용하여 각 그룹에서 최근 레코드 찾기
다음과 같이 특정 열로 분류된 각 그룹 내에서 가장 최근 레코드를 식별하려면 발신자 ID가 있는 경우 고려해야 할 두 가지 옵션이 있습니다.
옵션 1: 마지막 타임스탬프 값 결정
이 기술에는 각 그룹의 최신 타임스탬프 값을 찾는 것이 포함됩니다. 이 접근 방식에 대한 샘플 쿼리는 다음과 같습니다.
SELECT from_id, MAX(timestamp) timestamp FROM messages GROUP BY from_id
옵션 2: 계산된 값에 조인
또 다른 방법은 원본 테이블을 하위 쿼리 결과와 결합하는 것입니다. 각 그룹의 최대 타임스탬프를 결정합니다. 다음 쿼리는 이러한 접근 방식을 예시합니다.
SELECT t1.* FROM messages t1 JOIN (SELECT from_id, MAX(timestamp) timestamp FROM messages GROUP BY from_id) t2 ON t1.from_id = t2.from_id AND t1.timestamp = t2.timestamp;
이러한 방법 중 하나를 활용하면 각 발신자 ID에 대한 최신 메시지를 검색하여 가장 최근 대화에 대한 보다 포괄적인 보기를 제공할 수 있습니다.
위 내용은 SQL의 GROUP BY를 사용하여 각 그룹에서 가장 최근 레코드를 찾는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!