[英]Find average/min/max of operation between database fields in Rails
SQL 和 ORM 相對較新。
假設我有一個包含 start_at 和 finish_at 字段(均為日期時間)的數據庫表。 例如,表包含 10000 個項目。
如何使用 ruby 或 Active Record 工具計算平均、最大/最小持續時間 (finish_at - start_at)? 不需要在某處寫它,只需要數字。
table = MyClass.arel_table
duration = table[:finish_at] - table[:start_at]
MyClass.pick(duration.maximum, duration.minimum, duration.average)
#=> ["125 days 20:46:34.05816", "00:00:00.063579", "20 days 23:30:16.221092"]
根據需要將它們轉換為另一種數據類型或直接在其他查詢中使用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.