집 >데이터 베이스 >MySQL 튜토리얼 >SQL 테이블에서 주어진 ID에 대한 가장 최근 행을 검색하는 방법은 무엇입니까?
지정된 ID에 대한 가장 최근 행 식별:
제공된 테이블에는 다양한 ID 값에 대한 다양한 로그인 타임스탬프가 있는 여러 행이 포함되어 있습니다. 여기서 목표는 로그인 열을 기반으로 특정 ID 값(id=1)에 대한 가장 최근 행을 검색하는 것입니다.
MAX() Aggregate 및 GROUP BY 사용:
이를 달성하는 한 가지 접근 방식은 GROUP BY 절과 함께 MAX() 집계 함수를 사용하는 것입니다. 다음 쿼리는 각 고유 ID에 대한 최대 로그인 타임스탬프를 집계합니다.
SELECT id, MAX(signin) AS most_recent_signin FROM tbl GROUP BY id;
이 쿼리는 id와 Most_recent_signin이라는 두 개의 열이 있는 테이블을 생성합니다. Most_recent_signin 열에는 각 ID에 대한 가장 최근 로그인 타임스탬프가 포함되어 있습니다.
전체 기록 검색:
그러나 목표가 전체 기록(모든 기록 포함)을 검색하는 것이라면 >
SELECT tbl.id, signin, signout FROM tbl INNER JOIN ( SELECT id, MAX(signin) AS maxsign FROM tbl GROUP BY id ) ms ON tbl.id = ms.id AND signin = maxsign WHERE tbl.id = 1;
이 쿼리는 tbl 사이에서 INNER JOIN을 수행합니다. 테이블과 각 ID에 대한 최대 로그인 타임스탬프를 선택하는 하위 쿼리(ms)입니다. 그런 다음 다음이 포함된 행만 포함하도록 결과를 필터링합니다.
위 내용은 SQL 테이블에서 주어진 ID에 대한 가장 최근 행을 검색하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!