如何分组和限制计数

时间:2012-10-18 11:03:31

标签: ruby-on-rails postgresql

我正在构建一个Rails 3.2应用程序,在这个应用程序中我有两个表(postgres)。 一个叫做用户,另一个叫做消息。

在messages表中,我得到了一个名为user_id的列。我需要能够 获取每个用户创建的消息数量,并将其显示在列表中,并且我只获得那些消息超过100条的消息。如果这可以在一次通话中完成,那将是完美的。

到目前为止,这是我的代码,它可以获取每个用户发出的消息数量,但我只需要获取超过100条消息的消息。

@messages = Message.group("user_id").order("count_all DESC").count

1 个答案:

答案 0 :(得分:5)

尝试:

@messages = Message.count(:all, :group => 'user_id, HAVING COUNT(*) > 100')

@messages = Message.group('user_id').having('COUNT(*) > 100').count