Method: ActiveRecord::Base.count_by_sql
- Defined in:
- lib/active_record/base.rb
.count_by_sql(sql) ⇒ Object
Returns the result of an SQL statement that should only include a COUNT(*) in the SELECT part. The use of this method should be restricted to complicated SQL queries that can’t be executed using the ActiveRecord::Calculations class methods. Look into those before using this.
Parameters
-
sql- An SQL statement which should return a count query from the database, see the example below.
Examples
Product.count_by_sql "SELECT COUNT(*) FROM sales s, customers c WHERE s.customer_id = c.id"
876 877 878 879 |
# File 'lib/active_record/base.rb', line 876 def count_by_sql(sql) sql = sanitize_conditions(sql) connection.select_value(sql, "#{name} Count").to_i end |