여러 항목의 데이터를 관리할 때 키 값에 대한 가장 최근 타임스탬프를 보유하는 레코드를 식별하고 검색해야 하는 경우가 많습니다. 주어진 키. 간단한 접근 방식에는 키를 기준으로 그룹화하고 최대 타임스탬프를 기준으로 정렬하는 것이 포함될 수 있지만 이로 인해 group by 절에 나타나지 않는 필드와 관련된 오류가 발생할 수 있습니다.
이 문제를 극복하기 위해 대체 쿼리 구조는 다음을 제공합니다. 실행 가능한 솔루션:
SELECT sensorID, timestamp, sensorField1, sensorField2 FROM sensorTable s1 WHERE timestamp = ( SELECT MAX(timestamp) FROM sensorTable s2 WHERE s1.sensorID = s2.sensorID ) ORDER BY sensorID, timestamp;
이 쿼리는 기본적으로 센서 테이블 s1의 각 행을 센서 테이블 s2의 가장 최근 타임스탬프 대응 항목과 일치시킵니다. WHERE 절은 각 키에 대한 최대 타임스탬프가 있는 행을 제외한 모든 행을 효과적으로 필터링하여 선택한 데이터가 가장 최신 상태인지 확인합니다. 결과를 센서 ID별로 그룹화하고 타임스탬프별로 정렬하면 쿼리는 원하는 추가 필드와 함께 각 키에 대한 최신 타임스탬프가 포함된 단일 행을 반환합니다.
위 내용은 SQL의 각 키에 대해 가장 최근 타임스탬프 행을 선택하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!