2009-08-12 56 views
1

使用Ruby,野營webframework,ActiveRecord的-2.1.1,我的數據庫結構...如何收到ruby活動記錄的聚合查詢?

create_table :Conf_posts do |t| 
    %w{title body username posttime hit passwd}.each do |col| 
    t.column :"#{col}", :string 
    end 
end 

我想每個用戶名的總和打

我有下面的代碼。

Post.find :all, :select => "username,sum(hit)", :from => "Conf_posts", :group => "username" 

我收到以下結果。只有用戶名返回:

[#<Conf::Models::Post username: "\352\260\225\355\230\201">, #<Conf::Models::Post username: "\353\215\225\352\267\234">, #<Conf::Models::Post username: "\353\225\214\355\230\270">, #<Conf::Models::Post username: "\353\263\264\353\236\214">, #<Conf::Models::Post username: "\354\230\201\352\262\275">, #<Conf::Models::Post username: "\354\232\260\353\236\214">, #<Conf::Models::Post username: "\354\235\270\354\204\235">, #<Conf::Models::Post username: "\354\240\225\355\231\224.">, #<Conf::Models::Post username: "\355\230\201\354\235\264">] 

我不能同時接收的用戶名和username'hit

回答

2

i'stupid :-)的總和

答案..

Post.sum 「命中」,:組=> 「用戶名」

再見〜

5
Post.sum(:hit, :group => :username) 

應該給出陣列陣列,類似於

[ ['user1', 42], ['user2', 109], ...