|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.sormula.operation.SqlOperation<R> org.sormula.operation.ScalarSelectOperation<R> org.sormula.operation.aggregate.SelectAggregateOperation<R,T>
R
- class type which contains members for columns of a row in a tableT
- class type of aggregate resultpublic class SelectAggregateOperation<R,T>
Operation to select a value using an aggregate sql function like MIN, MAX, SUM, AVG, etc. By default,
operates on all rows in table. Set where condition with SqlOperation.setWhere(String)
to limit
to a subset of rows. To get the result, use readAggregate()
.
If expression is a column, then T should be same type as column type in row class R. Column translator associated with column in row R will be used.
If expression is not a column, then T should match the expression type. Override readAggregate()
to provide a customized read for expression. By default where expression is not a column name, then
ResultSet.getObject(int)
is used.
Constructor Summary | |
---|---|
SelectAggregateOperation(Table<R> table,
java.lang.String function,
java.lang.String expression)
Constructs for standard sql select statement as: SELECT f(e), ... |
Method Summary | |
---|---|
protected void |
initBaseSql()
Sets base sql with SqlOperation.setBaseSql(String) . |
T |
readAggregate()
Reads the aggregate value from the current result set. |
Methods inherited from class org.sormula.operation.ScalarSelectOperation |
---|
close, execute, getMaximumRowsRead, getOrderByName, getOrderByTranslator, getResultSet, getRowsReadCount, getSql, isLazySelectsCascades, isNotifyLazySelects, postRead, postReadCascade, prepareCascades, preRead, preReadCascade, readNext, select, select, setMaximumRowsRead, setOrderBy, setOrderByTranslator, setParameters, setRowParameters |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public SelectAggregateOperation(Table<R> table, java.lang.String function, java.lang.String expression) throws OperationException
Example:
Database database = ... Table<Order> table = database.getTable(Order.class); // find largest order SelectAggregateOperation<Order> maxOrderOperation = new SelectAggregateOperation<Order, Double>(table, "MAX", "amount"); maxOrderOperation.execute(); double maxOrder = maxOrderOperation.readAggregate();
table
- select from this tablefunction
- aggregate function name like AVG, SUM, MIN, etc.expression
- expression to use as parameter to function; typically it is the
name of a column to that aggregate function operates upon (example: SUM(amount) SUM is function and
amount is expression)
OperationException
- if errorMethod Detail |
---|
protected void initBaseSql()
SqlOperation.setBaseSql(String)
.
initBaseSql
in class ScalarSelectOperation<R>
public T readAggregate() throws OperationException
OperationException
- if error
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |