Summarizing Values for All Rows in a Table

See Also

Using an aggregate function, you can create a summary for all the values in a table. For example, you can create a query such as the following to display the total price for all books in the titles table:

SELECT SUM(price)
FROM titles

You can create multiple summaries in the same query by using aggregate functions with more than one column. For example, you can create a query that calculates the total of the price column and the average of the discount column.

You can also summarize the same column in different ways (such as totaling, counting, and averaging) in the same query. For example, the following query averages and summarizes the price column from the titles table:

SELECT AVG(price), SUM(price)
FROM titles

If you add a search condition, you can summarize the subset of rows that meet that condition.

Note   You can also count all the rows in the table or the ones that meet a specific condition. For details, see Counting Rows in a Table.

When you create a single summary value for all rows in a table, you display only the summaries themselves. For example, if you are totaling the value of the price column of the titles table, you would not also display individual titles, publisher names, and so on.

Note   If you are subtotaling — that is, creating groups — you can display column values for each group. For details, see Grouping Rows in Query Results.

To summarize values for all rows

  1. Start the query by adding the table you want to summarize to the Diagram pane.

  2. From the Query menu, choose Group By. The Query Designer adds a Group By column to the grid in the Grid pane.

  3. Add the column you want to summarize to the Grid pane. Be sure that the column is marked for output.

    The Query Designer automatically assigns a column alias to the column you are summarizing to create a useful column heading in query output. For more details, see Creating Column Aliases.

  4. In the Group By grid column, select the aggregate function that you want to use to summarize the data: Sum, Avg, Min, Max, Count. If you want to summarize only unique rows in the result set, choose an aggregate function with the DISTINCT options, such as Min Distinct. Do not choose Group By, Expression, or Where, because those options do not apply when you are summarizing all rows.

    Note   Oracle supports additional aggregate functions. For details, see Query Designer Considerations for Oracle Databases.

    The Query Designer replaces the column name in the statement in the SQL pane with the aggregate function that you specify. For example, the SQL statement might look like this:

    SELECT SUM(price)
    FROM titles
    
  5. If you want to create more than one summary in the query, repeat steps 3 and 4.

    When you add another column to the query output list or order by list, the Query Designer automatically fills the term Group By into the Group By column of the grid. Select the appropriate aggregate function.

  6. Add search conditions, if any, to specify the subset of rows you want to summarize.

When you execute the query, the Results pane displays the summaries that you specified.

Note   The Query Designer maintains aggregate functions as part of the SQL statement in the SQL pane until you explicitly turn off Group By mode. Therefore, if you modify your query by changing input sources or changing its type, the resulting query might include invalid aggregate functions.