User#events_countってUserが参加しているエベントの総数ではないのでしょうか?
`` self.user.user_groups.first.entry_count`` この条件だとSELECTされた結果、
先頭のグループに参加したevent数を集計することしかできませんが、その様な実装を意図しているのでしょうか?

group毎に参加しているevent数を集計した結果であればevent_countというcolumn自体もこのテーブルにあるのが妥当だと思います。