diff --git a/db/es/es_exec.go b/db/es/es_exec.go index 0bf8cc6..749ecaa 100644 --- a/db/es/es_exec.go +++ b/db/es/es_exec.go @@ -520,7 +520,7 @@ func (ES *EsClient) GroupSumBy(index, field string, q elastic.Query, ret interfa // Group2SumBy 聚合查询数量 field聚合的字段 sub2求和的字段 func (ES *EsClient) Group2SumBy(index, field, sub1, sub2 string, q elastic.Query, order string, or bool, size int) (*common.Group2SumBuckets, error) { - agg := elastic.NewTermsAggregation().Field(field).SubAggregation("sub1", elastic.NewTermsAggregation().Field(sub1).SubAggregation("sub2", elastic.NewSumAggregation().Field(sub2))) + agg := elastic.NewTermsAggregation().Field(field).SubAggregation("sub1", elastic.NewTermsAggregation().Field(sub1).Size(200).SubAggregation("sub2", elastic.NewSumAggregation().Field(sub2))) if order != "" { agg.OrderByAggregation(order, or) } diff --git a/modules/backend/models/db.go b/modules/backend/models/db.go index 825f8e0..964bac9 100644 --- a/modules/backend/models/db.go +++ b/modules/backend/models/db.go @@ -1427,13 +1427,16 @@ func GetTopGames(su, eu int64, opt, num int, channel ...*int) []*values.OneGameD case 1: sql = fmt.Sprintf(`SELECT provider as Provider,game_id as GameID, game_name as GameName,sum(amount) as Amount from provider_bet_record WHERE time>=%d and time <%d and (type = %d or type = %d or type = %d)`, su, eu, common.SessionTypeBet, common.SessionTypeSettle, common.SessionTypeBuyIn) - sql += PackChannels(channel...) + " group by game_id order by amount desc" + //sql += PackChannels(channel...) + " group by game_id order by amount desc" + sql += " group by game_id order by amount desc" case 2: sql = fmt.Sprintf(`SELECT provider as Provider,game_id as GameID,game_name as GameName,sum(amount - settle) as Amount from provider_bet_record WHERE time>=%d and time <%d`, su, eu) - sql += PackChannels(channel...) + " group by game_id order by amount desc" + //sql += PackChannels(channel...) + " group by game_id order by amount desc" + sql += " group by game_id order by amount desc" case 3: sql = fmt.Sprintf(`SELECT provider as Provider,game_id as GameID,game_name as GameName,sum(settle - amount) as Amount from provider_bet_record WHERE time>=%d and time <%d`, su, eu) - sql += PackChannels(channel...) + " group by game_id order by amount desc" + //sql += PackChannels(channel...) + " group by game_id order by amount desc" + sql += " group by game_id order by amount desc" default: return nil }