집 >데이터 베이스 >MySQL 튜토리얼 >날짜가 지정된 MySQL 테이블에서 가장 최근 레코드를 효율적으로 검색하는 방법은 무엇입니까?
날짜가 지정된 MySQL 테이블에서 가장 최근 레코드 검색
다음 구조의 MySQL 테이블:
Table: rpc_responses timestamp (date) method (varchar) id (varchar) response (mediumtext) PRIMARY KEY(timestamp,method,id)
다음을 고려하세요. 단계:
그룹화를 선택하기 위한 하위 쿼리 만들기:
SELECT *, if(@last_method=method,0,1) as new_method_group, @last_method:=method AS t1 FROM rpc_responses ORDER BY method,timestamp DESC
각 그룹의 첫 번째 행에 대한 필터:
WHERE new_method_group=1
이 조건은 메서드와 타임스탬프의 각 조합에 대해 가장 최근 행만 표시되도록 보장합니다. 선택되었습니다.
원하는 열 선택:
SELECT timestamp, method, id, response FROM t1
이 쿼리는 원하는 결과 집합을 반환합니다. 기존의 모든 메소드 및 ID 조합에 대한 최신 응답을 포함합니다. 조인 사용을 방지하고 MySQL 변수를 활용하여 다양한 메소드 그룹 간의 전환을 추적하므로 효율적입니다.
위 내용은 날짜가 지정된 MySQL 테이블에서 가장 최근 레코드를 효율적으로 검색하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!