저는 Rails 3.2 앱을 구축 중이며이 앱에는 두 개의 테이블 (포스트 그레스)이 있습니다. 하나는 사용자라고하고 다른 하나는 메시지라고합니다.수를 그룹화하고 제한하는 방법
메시지 테이블에 user_id라는 열이 있습니다. 각 사용자가 작성한 메시지 수를 얻고 목록에 표시 할 수 있어야하며 100 개 이상의 메시지를 작성한 메시지 만 가져올 수 있어야합니다. 이것이 한 번의 호출로 수행 될 수 있다면 완벽 할 것입니다.
이것은 지금까지 작성한 코드이며 각 사용자가 작성한 메시지의 수를 얻기 위해 작동하지만 100 개가 넘는 메시지 만 가져와야합니다.
@messages = Message.group("user_id").order("count_all DESC").count
이의 SQL은 (ON 메시지를 가입 사용자 INNER FROM, USER_ID SELECT (message.message_id) 계산 '될 것 user.user_id = message.user_id) GROUP BY user.user_id 수 (message.message_id)> 100입니다. 'INNER JOIN' 대신'LEFT OUTER JOIN'을 사용하고 메시지가없는 사용자를 포함하여 모든 사용자를 포함 시키려면'HAVING' 절을 생략하십시오. –