Method: ModelSet::SQLQuery#aggregate

Defined in:
lib/model_set/sql_query.rb

#aggregate(query, opts = {}) ⇒ Object



47
48
49
50
51
52
53
# File 'lib/model_set/sql_query.rb', line 47

def aggregate(query, opts = {})
  sql = "SELECT #{query} #{from_clause}"
  sql << " LIMIT #{opts[:limit]}"       if opts[:limit]
  sql << " GROUP BY #{opts[:group_by]}" if opts[:group_by]
  result = db.select_rows(sql).first
  result.size == 1 ? result.first : result
end