| | |
| | | |
| | | return nil |
| | | } |
| | | |
| | | func (slf *LocationProductAmountSearch) GroupCount(field string) ([]*GroupCount, error) { |
| | | var ( |
| | | db = slf.build() |
| | | result = make([]*GroupCount, 0) |
| | | ) |
| | | if err := db.Select("count(*) as total, " + field + " as class").Group(field).Scan(&result).Error; err != nil { |
| | | return nil, fmt.Errorf("select group err: %v", err) |
| | | } |
| | | return result, nil |
| | | } |
| | | |
| | | func (slf *LocationProductAmountSearch) GroupSum(groupField string, sumField string) ([]*GroupSum, error) { |
| | | var ( |
| | | db = slf.build() |
| | | result = make([]*GroupSum, 0) |
| | | ) |
| | | if err := db.Select("sum(" + sumField + ") as sum, " + groupField + " as class").Group(groupField).Scan(&result).Error; err != nil { |
| | | return nil, fmt.Errorf("select group err: %v", err) |
| | | } |
| | | return result, nil |
| | | } |