SQL Exercises: Orders with values greater than the given date average
4. From the following tables write a SQL query to find the order values greater than the average order value of 10th October 2012. Return ord_no, purch_amt, ord_date, customer_id, salesman_id.
Sample table: Ordersord_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:
-- Selecting all columns from the 'orders' table
SELECT *
-- Specifying the table to retrieve data from ('orders')
FROM orders
-- Filtering the results based on the condition that 'purch_amt' is greater than the result of a subquery
WHERE purch_amt >
-- Subquery: Selecting the average 'purch_amt' from the 'orders' table where 'ord_date' is '10/10/2012'
(SELECT AVG(purch_amt)
FROM orders
WHERE ord_date = '10/10/2012');
Output of the Query:
ord_no purch_amt ord_date customer_id salesman_id 70005 2400.60 2012-07-27 3007 5001 70008 5760.00 2012-09-10 3002 5001 70003 2480.40 2012-10-10 3009 5003 70013 3045.60 2012-04-25 3002 5001
Explanation:
The said SQL query selects all columns (*) from the orders table where the 'purch_amt' (purchase amount) is greater than the average 'purch_amt' from the orders table where the 'ord_date' (order date) is equal to '10/10/2012'.
In other words, it is selecting all rows from the orders table where the purchase amount is greater than the average purchase amount of all orders made on 10/10/2012.
Visual Explanation:
Practice Online
Sample Database: inventory
Query Visualization:
Duration:
Rows:
Cost:
Contribute your code and comments through Disqus.
Previous SQL Exercise: Orders of the salesman working for the customer 3007.
Next SQL Exercise: Find all orders attributed to salesman in New York.
What is the difficulty level of this exercise?
Test your Programming skills with w3resource's quiz.
- Weekly Trends and Language Statistics
- Weekly Trends and Language Statistics