Using an aggregate function, you can create a summary for all the values in a query. 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 aggregations 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 aggregate 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 aggregate 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.
When you create a single aggregation value for all rows in a query, you display only the aggregate values 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
- In the Database window, click Queries under Objects, click the query you want to open, and then click Design on the database window toolbar.
- Be sure the tables, views, or functions you want to aggregate are already present in the Diagram pane.
- Right-click the background of the Diagram pane, then choose Group By from the shortcut menu. The Query Designer adds a Group By column to the grid in the Grid pane.
- Add the column you want to aggregate 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. You can replace this alias with a more meaningful one.
- In the Group By grid column, select the appropriate aggregate function, such as: Sum, Avg, Min, Max, Count. If you want to aggregate 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 aggregating all rows.
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
- If you want to create more than one aggregation 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.
- Add search conditions, if any, to specify the subset of rows you want to summarize.
When you execute the query, the datasheet displays the aggregations 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 its type or by changing which tables, views, or functions are present in the diagram pane, the resulting query might include invalid aggregate functions.