2011-07-15 10 views
3

指定した列のみを返すクエリを実行します。私は3。私の最初の試みはレール付きの特定の列のクエリ3

query = transactions.group("month"). 
        select("DATE_FORMAT(transactions.purchased_at, '%Y-%m') as month") 
rows = ActiveRecord::Base.connection.select_all(query.to_sql) 

だったが、これはまた、トランザクションが含まレールでこれを行うための良い方法を見つけることができませんでした。*選択で。私はこれのように動作するように管理しています:

query = transactions.group("month") 
query.select_values = [ 
    "DATE_FORMAT(transactions.purchased_at, '%Y-%m') as month", 
    "count(*) as total" 
] 
rows = ActiveRecord::Base.connection.select_all(query.to_sql) 

これはかなり厄介なようですが、それを行うには良い方法はありますか?

答えて

5

私はあなただけselect AREL方法

User.select('id').where('') 
=> [#<User id: 2>, #<User id: 4>.... 
+0

は残念ながら利用者を含み、まだレールに使用できるため、あなたが探しているものを理解していれば。* SQLクエリ(レール3.0.7)で – opsb

+0

うーん、実際にその作品良い。しかし、私の元のクエリはそのように動作しません。 – opsb

関連する問題