다음과 같은 데이터 세트가 있습니다. example data set.max() 함수를 사용하여 SQL/postgreSQL을 사용하여 가장 최근의 행을 검색하는 방법
하나의 도메인 아래에 여러 명의 사용자가 있습니다. email_domain 당 하나의 행만 필요하며 행은 max (last_login) 값과 일치해야합니다. 즉, 같은 도메인의 모든 사용자 중에서 마지막으로 로그인 한 email_domain의 사용자 만 로그인하면됩니다.
필자과 같은 쿼리를 시도이
select *
FROM
(
select LOWER(SUBSTRING(ua.email FROM POSITION ('@' IN ua.email) + 1)) AS email_domain, last_login, last_name, first_name, email, phone
from user_with_address ua
order by email_domain
) as A
group by email_domain, last_login, last_name, first_name, email, phone
having last_login = max(last_login)
order by email_domain
난 아직도 내가 잘못 뭐하는 거지 각 전자 메일 도메인에 대한 여러 값을 가진 목록을 얻을? 도와주세요.
면책 조항 : 본인은 기본적인> SQL에 대한 지식이 있습니다.
last_login으로 그룹화하고 있습니다. 아마도 max (last_login)을 선택하고 그룹화하지 않으시겠습니까? 또한 이름, 이메일, 전화 번호 등으로 그룹화하면 도메인에서 레코드가 분리됩니다. –