instance method count

Ruby on Rails 4.1.16

Since v3.0.20

Available in: v3.0.20 v3.1.12 v3.2.22.5 v4.0.13 v4.1.16 v4.2.9 v5.2.8.1 v6.0.6 v6.1.7.10 v7.0.10 v7.1.6 v7.2.3 v8.0.4 v8.1.2

Signature

count(column_name = nil, options = {})

Count the records.

Person.count
# => the total count of all people

Person.count(:age)
# => returns the total count of all people whose age is present in database

Person.count(:all)
# => performs a COUNT(*) (:all is an alias for '*')

Person.distinct.count(:age)
# => counts the number of different age values

If count is used with group, it returns a Hash whose keys represent the aggregated column, and the values are the respective amounts:

Person.group(:city).count
# => { 'Rome' => 5, 'Paris' => 3 }

If count is used with select, it will count the selected columns:

Person.select(:age).count
# => counts the number of different age values

Note: not all valid select expressions are valid count expressions. The specifics differ between databases. In invalid cases, an error from the databsae is thrown.

Parameters

column_name opt = nil
options opt = {}
Source
# File activerecord/lib/active_record/relation/calculations.rb, line 30
    def count(column_name = nil, options = {})
      # TODO: Remove options argument as soon we remove support to
      # activerecord-deprecated_finders.
      column_name, options = nil, column_name if column_name.is_a?(Hash)
      calculate(:count, column_name, options)
    end

Defined in activerecord/lib/active_record/relation/calculations.rb line 30 · View on GitHub · Improve this page · Find usages on GitHub

Defined in ActiveRecord::Calculations

Type at least 2 characters to search.

↑↓ navigate · open · esc close