The COMPUTE command defines summary calculations needed in a report. You can use COMPUTE in conjunction with BREAK to calculate and print column totals, averages, minimum and maximum values, and so on. These calculations are performed by SQL*Plus as the report runs. COMPUTE is a complex command, and must be used in conjunction with the BREAK command in order to get results. See the section Section 3.5 in Chapter 3 for help on this command.
The syntax for the COMPUTE command looks like this:
COMP[UTE] [{AVG|COU[NT]|MAX[IMUM]|MIN[IMUM]| NUM[BER]|STD|SUM|VAR[IANCE]}... [LABEL label_text] OF column_name... ON {group_column_name|ROW|REPORT}...]
where:
May be abbreviated to COMP. Entering COMPUTE with no parameters causes SQL*Plus to list all currently defined computations.
Computes the average of all non-null values for a column. AVG only applies to columns of type NUMBER.
Computes the total number of non-null values for a column. COUNT may be used with columns of any datatype, and may be abbreviated to COU.
Computes the maximum value returned for a column. MAXIMUM may be abbreviated as MAX, and applies to columns of type NUMBER, CHAR, VARCHAR2, NCHAR, and NVARCHAR2.
Computes the minimum value returned for a column. MINIMUM may be abbreviated as MIN, and applies to columns of type NUMBER, CHAR, VARCHAR2, NCHAR, and NVARCHAR2.
Similar to COUNT, but computes the number of all values, including nulls. This applies to columns of any datatype, and may be abbreviated to NUM.
Computes the standard deviation of all non-null values for a column. STD applies only to columns of type NUMBER.
Computes the sum of all non-null values for a column. SUM applies only to columns of type NUMBER.
Computes the variance of all non-null values for a column. VARIANCE applies only to columns of type NUMBER, and may be abbreviated to VAR.
Allows you to specify a label for the computed value. If possible, this label will be printed to the left of the computed value.
Is the text you want to use as a label when the computed value is printed. This may be enclosed in quotes, either single or double. To embed a quote within the label when that label has been quoted, place two quote characters back to back.
Is the name of the column you are summarizing. If a computed column, the expression is the name. If your SELECT statement aliases the column, you must use that alias name here.
Causes SQL*Plus to restart the calculation every time this column changes. Typically, the report is sorted or grouped by this column, and the computed value is printed once for each distinct value of the group column.
Causes the computation to be performed once for each row returned by the query.
Causes the computation to be performed at the end of the report and to include values from all rows. REPORT is used for grand totals.