질문:
데이터베이스 테이블에 사용자 로그인 정보가 포함되어 있다고 가정할 때 각 사용자의 마지막 로그인 날짜를 어떻게 검색합니까? 로그인 날짜가 중복될 가능성을 고려하십시오.
해결책:
이 문제를 해결하는 두 가지 일반적인 방법이 있습니다.
방법 1: INNER JOIN 하위 쿼리 사용
이 방법은 하위 쿼리를 활용하여 각 사용자의 마지막 로그인 날짜를 식별한 다음 기본 테이블을 필터링하는 데 사용됩니다.
<code class="language-sql">select t.username, t.date, t.value from MyTable t inner join ( select username, max(date) as MaxDate from MyTable group by username ) tm on t.username = tm.username and t.date = tm.MaxDate</code>
방법 2: 윈도우 기능
창 기능을 지원하는 데이터베이스의 경우 보다 효율적인 방법을 사용할 수 있습니다.
<code class="language-sql">select x.username, x.date, x.value from ( select username, date, value, row_number() over (partition by username order by date desc) as _rn from MyTable ) x where x._rn = 1</code>
이 방법은 분할된 데이터에 대해 행 번호 정렬을 사용하며 각 사용자의 마지막 날짜에 순위 1이 할당됩니다.
위 내용은 SQL에서 각 사용자의 최신 로그인 날짜를 검색하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!