在Rails 2.3.8中有一個類方法ActiveRecord::Base.count_by_sql
它允許執行自定義SELECT count(*) ...
。用這種方法執行定製的SELECT sum(...) ...
查詢是否保存?如果不是,應該怎麼做才能執行這樣的查詢?是ActiveRecord::Base.connection.execute
唯一的選擇?執行`sum_by_sql`的最佳方法是什麼?
謝謝。
編輯:我想要執行的查詢具有嵌套的另一個查詢。這就是爲什麼我相信ActiveRecord::Calculations
的方法是不夠的。
感謝的答案,但它是不夠的,在我的情況。我之前沒有提到這一點,但我需要傳遞原始SQL(至少我認爲是這樣)。我的查詢有另一個查詢嵌套,它看起來像這樣︰'SELECT MAX(...)FROM(這裏去嵌套查詢我不能擺脫)'。這就是爲什麼我需要像'count_by_sql'這樣的方法。 – skalee 2010-08-31 14:42:32