>데이터 베이스 >MySQL 튜토리얼 >SQL 테이블에서 주어진 ID에 대한 가장 최근 행을 검색하는 방법은 무엇입니까?

SQL 테이블에서 주어진 ID에 대한 가장 최근 행을 검색하는 방법은 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-12-29 08:35:11874검색

How to Retrieve the Most Recent Row for a Given ID in a SQL Table?

지정된 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.