SQL Exercises: Find the highest purchase amount each customer ordered
SQL Aggregate Functions: Exercise-10 with Solution
From the following table, write a SQL query to find the highest purchase amount ordered by each customer on a particular date. Return, order date and highest purchase amount.
Sample table: orders
SELECT customer_id,ord_date,MAX(purch_amt) FROM orders GROUP BY customer_id,ord_date;
Output of the Query:
customer_id ord_date max 3002 2012-10-05 65.26 3003 2012-08-17 75.29 3005 2012-10-05 150.50 3007 2012-07-27 2400.60 3009 2012-08-17 110.50 3001 2012-09-10 270.65 3002 2012-09-10 5760.00 3005 2012-09-10 948.50 3009 2012-10-10 2480.40 3008 2012-06-27 250.45 3004 2012-10-10 1983.43 3002 2012-04-25 3045.60
The said SQL query retrieves the customer id, order date, and the maximum purchase amount for each combination of customer id and order date in the 'orders' table. The result will be grouped by customer id and order date.
Relational Algebra Expression:
Relational Algebra Tree:
Have another way to solve this solution? Contribute your code (and comments) through Disqus.
Previous SQL Exercise: Highest purchase amount ordered by the each customer.
Next SQL Exercise: Highest purchase amount on a date for each salesman.
What is the difficulty level of this exercise?
Test your Programming skills with w3resource's quiz.
SQL: Tips of the Day
What is the best way to paginate results in SQL Server?
SELECT * FROM ( SELECT ROW_NUMBER() OVER ( ORDER BY OrderDate ) AS RowNum, * FROM Orders WHERE OrderDate >= '1980-01-01' ) AS RowConstrainedResult WHERE RowNum >= 1 AND RowNum < 20 ORDER BY RowNum
Database: SQL Server
- Weekly Trends
- Java Basic Programming Exercises
- SQL Subqueries
- Adventureworks Database Exercises
- C# Sharp Basic Exercises
- SQL COUNT() with distinct
- Java Collection Exercises
- SQL COUNT() function
- SQL Inner Join
- Python Tutorial
- Python Array Exercises
- SQL Cross Join
- C# Sharp Array Exercises
We are closing our Disqus commenting system for some maintenanace issues. You may write to us at reach[at]yahoo[dot]com or visit us at Facebook