method
    
    calculate
  
      v4.1.8 - 
      Show latest stable
 - 
    0 notes - 
    Class: ActiveRecord::Calculations
    
  
  
- 1.0.0
 - 1.1.6
 - 1.2.6
 - 2.0.3
 - 2.1.0
 - 2.2.1
 - 2.3.8
 - 3.0.0 (0)
 - 3.0.9 (-2)
 - 3.1.0 (0)
 - 3.2.1 (0)
 - 3.2.8 (0)
 - 3.2.13 (0)
 - 4.0.2 (-38)
 - 4.1.8 (0)
 - 4.2.1 (0)
 - 4.2.7 (0)
 - 4.2.9 (0)
 - 5.0.0.1 (0)
 - 5.1.7 (0)
 - 5.2.3 (0)
 - 6.0.0 (0)
 - 6.1.3.1 (0)
 - 6.1.7.7 (0)
 - 7.0.0 (0)
 - 7.1.3.2 (0)
 - 7.1.3.4 (0)
 - What's this?
 
calculate(operation, column_name, options = {})
  public
  This calculates aggregate values in the given column. Methods for count, sum, average, minimum, and maximum have been added as shortcuts.
There are two basic forms of output:
* Single aggregate value: The single value is type cast to Fixnum for COUNT, Float for AVG, and the given column's type for everything else. * Grouped values: This returns an ordered hash of the values and groups them. It takes either a column name, or the name of a belongs_to association. values = Person.group('last_name').maximum(:age) puts values["Drake"] # => 43 drake = Family.find_by(last_name: 'Drake') values = Person.group(:family).maximum(:age) # Person belongs_to :family puts values[drake] # => 43 values.each do |family, max_age| ... end Person.calculate(:count, :all) # The same as Person.count Person.average(:age) # SELECT AVG(age) FROM people... # Selects the minimum age for any family without any minors Person.group(:last_name).having("min(age) > 17").minimum(:age) Person.sum("2 * age")

  
  
  
  