score, event_id, user_id와 같은 녹음 항목이라는 테이블에 4 개의 열이 있으며 사용자 ID + 이벤트 ID 인 을 기반으로 한 녹음의 점수를 합산하고 싶습니다. 점수별로 정렬 된 여러 이벤트의 사용자를 표시하려고합니다. 다른 열을 기반으로 레코드 그룹 정렬
그래서 나는Recording.select("user_id,event_id,sum(score) as score").group(:user_id,:event_id).order("score DESC")
및 위의 쿼리가 너무 분 점수 내가 다시 원하는
#<Recording user_id: 4, event_id: 51, score: 64622>,
#<Recording user_id: 3, event_id: 51, score: 5912>
#<Recording user_id: 4, event_id: 31, score: 62>,
#<Recording user_id: 3, event_id: 48, score: 0>
그러나
아래처럼 최대 점수에 따라 레코드를 출력 결과를 arrabge 아래의 코드를 wriiten있다 아래처럼 (점수 별 정렬 된 다른 이벤트의 사용자)#<Recording user_id: 4, event_id: 51, score: 64622>,
#<Recording user_id: 4, event_id: 31, score: 62>,
#<Recording user_id: 3, event_id: 48, score: 0>,
#<Recording user_id: 3, event_id: 51, score: 5912>
, USER_ID를 &이 질문은 매우 명확하지 – loganathan
을 EVENT_ID : u는이 작업을 수행하기 위해 윈도우 기능을 사용할 수 있습니다. 귀하의 예에서는 텍스트가 설명하지 못한 것을 분명하게 설명합니다. @PinnyM의 명예는 더 많은 코멘트를 한 후 그것을 알아 낸 것 같다. –