집 >데이터 베이스 >MySQL 튜토리얼 >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 중국어 웹사이트의 기타 관련 기사를 참조하세요!