活動記錄不識別find
方法中的POW
和SQRT
或find_by_sql
方法中的常見SQL函數。我如何解決這個問題?有似乎沒有文學那裏:-(活動記錄sql查詢中的數學函數? (pow,sqrt等)
0
A
回答
1
ActiveRecord的支持最常見的calculation functionalities在有意義 對於任何其他高級用法,你可以隨時通過定製的select語句的值:選擇選項
find(:all, :select => "COUNT(*)")
就個人而言,我一直沒能找到一個例子,將是有意義的使用ActiveRecord(和SQL)以下語句之一。
SELECT POW(9, 6)
531441
SELECT POW(2, -3)
0.125
SELECT SQRT(65536)
256
恕我直言,紅寶石數學庫它是p&可以更好的選擇。
您是否有一個真實世界的使用POW或SQRT查詢示例,您無法使用ActiveRecord創建?
0
我不認爲ActiveRecord直接支持標量函數。組函數,當然,主要是因爲它確保提交給數據庫的查詢很簡潔並且產生儘可能最小的記錄集,這是很有意義的。
另一方面,標量不能提供太多的好處,目前還沒有AR語法,我知道它可以提供它。在您的模型中按需執行計算可能會有實際好處,因爲它可以減少數據庫服務器上的負載(儘管只有很小的一部分)。如果你的DBMS沒有實現POW(),比如說(我相信它本身不是ANSI首選函數名),你會期望AR去做?
我想如果你真的想讓你的DBMS爲你做標量函數,你將不得不提供它們作爲SQL字符串的一部分,正如你所提到的那樣,find_by_sql
,指定的選擇列表或某些東西類似。但我會去把這些功能放在你的模型中。
相關問題
- 1. SQL查詢的Rails等效活動記錄查詢
- 2. SQL函數sqrt
- 3. Echo sqrt和pow
- 4. CMake無法檢測到gcc內置函數,如sqrt,pow,exp等
- 5. Codeigniter活動記錄查詢計數
- 6. Rails 4活動記錄數組查詢
- 7. 笨活動記錄數據庫查詢
- 8. sql查詢codeigniter活動記錄
- 9. 活動記錄 - 轉換SQL查詢
- 10. 從Rails 3中的活動記錄查詢檢索sql查詢
- 11. SQL查詢記錄總數
- 12. 數學sqrt函數。我在想什麼
- 13. find_each活動記錄查詢
- 14. 在活動記錄查詢
- 15. 軌,活動記錄查詢
- 16. 幹活動記錄查詢
- 17. 查詢活動記錄
- 18. 活動記錄查詢
- 19. 活動記錄查詢
- 20. 活動記錄:JSON查詢
- 21. yii2活動記錄查詢
- 22. Rails:has_many活動記錄查詢
- 23. 活動記錄查詢belong_to
- 24. 如何在活動記錄中執行數學計算在Rails中查詢
- 25. 轉換SQL查詢到Rails的活動記錄查詢
- 26. Ruby on Rails活動記錄查詢 - 計數記錄
- 27. codeigniter活動記錄中的子查詢
- 28. Rails和活動記錄:SQL等效
- 29. 笨的活動記錄查詢功能
- 30. sql查詢與活動記錄查詢助手錯誤
你可以粘貼一個你如何使用它的例子。我向你保證他們會工作。 – 2009-06-30 17:55:51
本說什麼,我以前做過。請發佈代碼示例。 – 2009-06-30 17:59:52
這裏是一個例子 Location.find_by_sql(select * from TABLENAME where 10> sqrt(EXP((40.47-COLUMN1),2)+ EXP((73.50-COLUMN2),2))) – happythenewsad 2009-06-30 18:45:00