w3resource

SQL Exercises: Higher purchase amount by the customer within a list

SQL Aggregate Functions: Exercise-14 with Solution

From the following table, write a SQL query to find the maximum order (purchase) amount based on the combination of each customer and order date. Filter the rows for maximum order (purchase) amount is either 2000, 3000, 5760, 6000. Return customer id, order date and maximum purchase amount.

Sample table: orders


Sample Solution:

SELECT customer_id,ord_date,MAX(purch_amt) 
FROM orders 
GROUP BY customer_id,ord_date 
HAVING MAX(purch_amt) IN(2000 ,3000,5760, 6000);

Output of the Query:

customer_id	ord_date	max
3002		2012-09-10	5760.00

Code Explanation:

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, and only those groups with a maximum purchase amount equal to 2000, 3000, 5760, or 6000 will be returned.
The "HAVING" clause is used to specify the condition for the groups to be returned and the "IN" operator is used to define the set of values that the maximum purchase amount can be.

Explanation :

Syntax of find higher purchase amount by the customer within a specific list

Visual presentation:

Find higher purchase amount by the customer within a specific list

Practice Online


Query Visualization:

Duration:

Query visualization of Find higher purchase amount by the customer within a specific list - Duration

Rows:

Query visualization of Find higher purchase amount by the customer within a specific list - Rows

Cost:

Query visualization of Find higher purchase amount by the customer within a specific list - Cost

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

Previous SQL Exercise: Higher purchase amount of customers within a range.
Next SQL Exercise: Highest purchase amount from customers.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



Follow us on Facebook and Twitter for latest update.

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

Ref: https://bit.ly/3MGrNlk

 





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