find_by_sql bez modelu

Witam,

w tabeli mam pole energy typu INTEGER, przy liczeniu średniej:

User.find(:all,:select => 'AVG(energy)as energy,:conditions => ['id = ?',@current_user.id], :group => 'DATE(created_at)')

Dostaje wyniki typu INTEGER a chciałbym FLOAT’y. Rozwiązanie widzę w wyszukaniu po czystym SQL’u. Próbowałem w ten sposób:

ActiveRecord::Base.connection.execute("SELECT AVG(energy) as energy FROM users WHERE id = 1 GROUP BY DATE(created_at)")

nie wiem tylko jak teraz pobrać wyniki. fetch_row pobiera ale tylko pierwszy wiersz. Może jest na to inne lekarstwo?

User.find_by_sql (a tam już dalej ten swój cały ręczny SELECT).

Dostaniesz wszystko ładnie opakowane w model AR, ze swoim polem energy dostępnym jak zwykle.

tak tylko że dostane INTY, a jak średnia wyjdzie 2.4 ?

ActiveRecord::Base.connection.select_all("select * from users")

zastąp tylko swoim sql

ok, dzięki:)