Clear ORM
  • Welcome to Clear
  • Introduction
    • Setup
  • Model
    • Defining your model
      • Describing your columns
      • Primary Keys
      • Converters
    • Associations
      • belongs_to
      • has_many
      • has_many through
      • has_one
    • Lifecycle
      • Persistence
      • Validations
      • Triggers
    • Batchs operations
      • Bulk update
      • Bulk insert & delete
    • Transactions & Save Points
      • Transaction & Savepoints
      • Connection pool
    • Locks
  • Querying
    • The collection object
      • Filter the query
        • Filter the query – The Expression Engine
        • Find, First, Last, Offset, Limit
        • Aggregation
        • Ordering & Group by
      • Fetching the query
        • Each and Fetch
        • Cursored fetching
        • Model extra attributes
      • Joins
      • Eager Loading
      • Window and CTE
      • Scopes
    • Writing low-level SQL
      • Select Clause
      • Insert Clause
      • Delete Clause
  • Migrations
    • Manage migrations
    • Call migration script
    • Migration CLI
  • Additional and advanced features
    • JSONB
    • Symbol vs String
    • Enums
    • BCrypt
    • Full Text Search
    • Handling multi-connection
  • Other resources
    • API Documentation
    • Inline documentation
    • Github repository
    • Credits
    • Benchmark
Powered by GitBook
On this page
  • MIN, MAX, AVG and SUM
  • Custom aggregation method
  1. Querying
  2. The collection object
  3. Filter the query

Aggregation

Each collection have simple access to aggregation functions.

MIN, MAX, AVG and SUM

By default, min, max, avg, sum and count are mapped:

user_count = User.query.count

user_max_id = User.query.max("id", Int64)
user_min_id = User.query.min("id", Int64)

user_average_time = User.query.avg("time_connected", Float64)

Custom aggregation method

You can call you own custom aggregation method using agg method:

time_squared = User.query.agg("AVG(timesquared * timesquared)", Float64)
PreviousFind, First, Last, Offset, LimitNextOrdering & Group by

Last updated 5 years ago