我正在构建一个Rails 3.2应用程序,在这个应用程序中我有两个表(postgres)。 一个叫做用户,另一个叫做消息。
在messages表中,我得到了一个名为user_id的列。我需要能够 获取每个用户创建的消息数量,并将其显示在列表中,并且我只获得那些消息超过100条的消息。如果这可以在一次通话中完成,那将是完美的。
到目前为止,这是我的代码,它可以获取每个用户发出的消息数量,但我只需要获取超过100条消息的消息。
@messages = Message.group("user_id").order("count_all DESC").count
答案 0 :(得分:5)
尝试:
@messages = Message.count(:all, :group => 'user_id, HAVING COUNT(*) > 100')
或
@messages = Message.group('user_id').having('COUNT(*) > 100').count