novie-core/src/main/java/com/groupon/novie/internal/services/SqlQueryEngine.java
public <T extends MeasureAppender> T retrieveSummary(SchemaDefinition schemaDefinition, Class<T> resultClazz, QueryParameter queryParameter) throws NovieRuntimeException {
        final SqlQueryBuilder<T> sqlQueryBuilder = new SqlQueryBuilder<T>(schemaDefinition, resultClazz,
                queryParameter.partialCopy(QueryParameterKind.GROUPS, QueryParameterKind.PAGE));
        List<T> result = executeQuery(sqlQueryBuilder);
        if (result.isEmpty()) {
            throw new NovieRuntimeException("Summary doesn't return any result.");
        }
        if (result.size() > 1) {
            throw new NovieRuntimeException("Summary returns more than one result.");
        }
        return result.get(0);
    }
public <T extends MeasureAppender> T retrieveSummary(SchemaDefinition schemaDefinition, Class<T> resultClazz, QueryParameter queryParameter) throws NovieRuntimeException {
        final SqlQueryBuilder<T> sqlQueryBuilder = new SqlQueryBuilder<T>(schemaDefinition, resultClazz,
                queryParameter.partialCopy(QueryParameterKind.GROUPS, QueryParameterKind.PAGE));
        List<T> result = executeQuery(sqlQueryBuilder);
        if (result.isEmpty()) {
            throw new NovieRuntimeException("Summary doesn't return any result.");
        }
        if (result.size() > 1) {
            throw new NovieRuntimeException("Summary returns more than one result.");
        }
        return result.get(0);
    }
Execute a query to retrieve the summary. This do not have any group by element

@param schemaDefinition The schema definition
@param resultClazz      The result object
@param queryParameter   The Query parameters object
@return the summary object if exist. Otherwise throws an exception.
@throws com.groupon.novie.internal.exception.NovieRuntimeException