3

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

在消息表中,我有一个名为 user_id 的列。我需要能够获取每个用户发送了多少条消息并将它们显示在一个列表中,而我只需要获取那些发送了超过 100 条消息的消息。如果这可以在一个电话中完成,那将是完美的。

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

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

1 回答 1

6

尝试:

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

或者

@messages = Message.group('user_id').having('COUNT(*) > 100').count
于 2012-10-18T11:18:27.553 回答