﻿ SQL: Highest purchase amount ordered by the each customer

# SQL Exercises: Highest purchase amount ordered by the each customer

## SQL Aggregate Functions: Exercise-9 with Solution

From the following table, write a SQL query to find the highest purchase amount ordered by each customer. Return customer ID, maximum purchase amount.

Sample table: orders

```ord_no      purch_amt   ord_date    customer_id  salesman_id
----------  ----------  ----------  -----------  -----------
70001       150.5       2012-10-05  3005         5002
70009       270.65      2012-09-10  3001         5005
70002       65.26       2012-10-05  3002         5001
70004       110.5       2012-08-17  3009         5003
70007       948.5       2012-09-10  3005         5002
70005       2400.6      2012-07-27  3007         5001
70008       5760        2012-09-10  3002         5001
70010       1983.43     2012-10-10  3004         5006
70003       2480.4      2012-10-10  3009         5003
70012       250.45      2012-06-27  3008         5002
70011       75.29       2012-08-17  3003         5007
70013       3045.6      2012-04-25  3002         5001
```

Sample Solution:

``````-- This query retrieves the maximum 'purch_amt' value for each 'customer_id' from the 'orders' table.
SELECT customer_id, MAX(purch_amt)
-- Specifies the table from which to retrieve the data (in this case, 'orders').
FROM orders
-- Groups the result set by the 'customer_id' column.
GROUP BY customer_id;
``````

Output of the Query:

```customer_id	max
3007		2400.60
3008		250.45
3002		5760.00
3001		270.65
3009		2480.40
3004		1983.43
3003		75.29
3005		948.50
```

Code Explanation:

The given SQL statement retrieves the maximum "purch_amt" for each "customer_id" from the "orders" table.
It uses the "GROUP BY" clause to group the "orders" table by "customer_id", which means that the result of the query will show the maximum "purch_amt" for each distinct "customer_id".
The "MAX" function is used to find the maximum "purch_amt" value within each group.

Relational Algebra Expression:

Relational Algebra Tree:

Explanation:

Visual presentation:

## Query Visualization:

Duration:

Rows:

Cost:

Have another way to solve this solution? Contribute your code (and comments) through Disqus.

Previous SQL Exercise: Highest grade for each of the cities of the customers.
Next SQL Exercise: Find the highest purchase amount each customer ordered.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.

﻿