>  기사  >  데이터 베이스  >  MySQL ActiveRecord에서 모든 고유 사용자의 최신 방문을 얻는 방법은 무엇입니까?

MySQL ActiveRecord에서 모든 고유 사용자의 최신 방문을 얻는 방법은 무엇입니까?

Susan Sarandon
Susan Sarandon원래의
2024-10-31 01:02:29530검색

How to Get the Latest Visits of All Unique Users in MySQL ActiveRecord?

MySQL ActiveRecord에서 DISTINCT ON과 동등한 기능을 사용하는 방법

요구 사항은 이벤트에서 모든 개별 사용자의 최근 방문을 검색하는 것입니다. 테이블. ActiveRecord에서 MySQL과 함께 DISTINCT ON(user_id) 절을 사용하면 구문 오류가 발생합니다.

DISTINCT ON에 해당하는 MySQL은 MAX() 함수와 함께 GROUP BY를 사용하는 것입니다.

<code class="ruby">Events.group(:user_id).maximum(:time)</code>

이 쿼리는 user_id별로 결과를 그룹화하고 각 그룹의 시간 열에 대한 최대값을 반환합니다. 출력은 user_id를 키로, 최근 방문 시간을 값으로 사용하는 해시입니다.

{
  21 => "2018-12-18 09:44:59",
  42 => "2018-12-19 12:08:59"
}

참고: DISTINCT ON(columns)은 PostgreSQL 전용 구문입니다. MySQL은 이 구문을 직접 지원하지 않습니다.

위 내용은 MySQL ActiveRecord에서 모든 고유 사용자의 최신 방문을 얻는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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