ActiveRecord를 사용하여 MySQL에서 개별 사용자의 최근 방문을 찾는 방법
DISTINCT ON 함수를 사용하려고 시도하는 동안 구문 오류가 발생했습니다. ActiveRecord의 MySQL? 해결 방법은 다음과 같습니다.
초기 쿼리:
Event.order(time: :desc).select('DISTINCT ON(user_id) user_id, time')
는 MySQL에서 DISTINCT ON을 지원하지 않기 때문에 오류를 반환합니다. 대신 GROUP BY와 MAX의 조합을 사용하여 원하는 결과를 얻을 수 있습니다.
수정된 쿼리:
Events.group(:user_id).maximum(:time)
이 쿼리는 user_id별로 이벤트를 그룹화하고 최대 시간을 찾습니다. 각 그룹을 통해 개별 사용자 각각의 최신 방문 정보를 효과적으로 제공합니다.
예상 출력:
{ 21 => "2018-12-18 09:44:59", 42 => "2018-12-19 12:08:59"}
타임스탬프 형식은 데이터베이스 구성에 따라 달라질 수 있습니다. .
위 내용은 ActiveRecord를 사용하여 MySQL에서 각 사용자의 최근 방문을 찾는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!