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