github.com/RevenueMonster/sqlike@v1.0.6/sql/expr/aggregation.go (about)

     1  package expr
     2  
     3  import (
     4  	"github.com/RevenueMonster/sqlike/sqlike/primitive"
     5  )
     6  
     7  // Sum :
     8  func Sum(field interface{}) (a primitive.Aggregate) {
     9  	a.Field = wrapColumn(field)
    10  	a.By = primitive.Sum
    11  	return
    12  }
    13  
    14  // Count :
    15  func Count(field interface{}) (a primitive.Aggregate) {
    16  	a.Field = wrapColumn(field)
    17  	a.By = primitive.Count
    18  	return
    19  }
    20  
    21  // Average :
    22  func Average(field interface{}) (a primitive.Aggregate) {
    23  	a.Field = wrapColumn(field)
    24  	a.By = primitive.Average
    25  	return
    26  }
    27  
    28  // Max :
    29  func Max(field interface{}) (a primitive.Aggregate) {
    30  	a.Field = wrapColumn(field)
    31  	a.By = primitive.Max
    32  	return
    33  }
    34  
    35  // Min :
    36  func Min(field interface{}) (a primitive.Aggregate) {
    37  	a.Field = wrapColumn(field)
    38  	a.By = primitive.Min
    39  	return
    40  }