Class AggregationQuery (2.20.1)

public class AggregationQuery extends Query<AggregationResults>

An implementation of a Google Cloud Datastore Query that returns AggregationResults, It can be constructed by providing a nested query (StructuredQuery or GqlQuery) to run the aggregations on and a set of Aggregation.

StructuredQuery example:


 EntityQuery selectAllQuery = Query.newEntityQueryBuilder()
    .setKind("Task")
    .build();
 AggregationQuery aggregationQuery = Query.newAggregationQueryBuilder()
    .addAggregation(count().as("total_count"))
    .over(selectAllQuery)
    .build();
 AggregationResults aggregationResults = datastore.runAggregation(aggregationQuery);
 for (AggregationResult aggregationResult : aggregationResults) {
     System.out.println(aggregationResult.get("total_count"));
 }
 

GqlQuery example:


 GqlQuery selectAllGqlQuery = Query.newGqlQueryBuilder(
         "AGGREGATE COUNT(*) AS total_count, COUNT_UP_TO(100) AS count_upto_100 OVER(SELECT * FROM Task)"
     )
     .setAllowLiteral(true)
     .build();
 AggregationQuery aggregationQuery = Query.newAggregationQueryBuilder()
     .over(selectAllGqlQuery)
     .build();
 AggregationResults aggregationResults = datastore.runAggregation(aggregationQuery);
 for (AggregationResult aggregationResult : aggregationResults) {
   System.out.println(aggregationResult.get("total_count"));
   System.out.println(aggregationResult.get("count_upto_100"));
 }
 

See Also: Datastore queries

Inheritance

java.lang.Object > Query > AggregationQuery

Methods

getAggregations()

public Set<Aggregation> getAggregations()

Returns the Aggregation(s) for this Query.

Returns
Type Description
Set<Aggregation>

getMode()

public AggregationQuery.Mode getMode()

Returns the Mode for this query.

Returns
Type Description
AggregationQuery.Mode

getNestedGqlQuery()

public GqlQuery<?> getNestedGqlQuery()

Returns the underlying for this Query. Returns null if created with StructuredQuery

Returns
Type Description
GqlQuery<?>

getNestedStructuredQuery()

public StructuredQuery<?> getNestedStructuredQuery()

Returns the underlying for this Query. Returns null if created with GqlQuery

Returns
Type Description
StructuredQuery<?>