SQL Subquery Exercises: Find all orders with order amounts which are above-average amounts for their customers
SQL SUBQUERY: Exercise-12 with Solution
12. From the following tables, write a SQL query to find those orders, which are higher than average amount of the orders. Return ord_no, purch_amt, ord_date, customer_id and salesman_id.
Sample table: Orders
Sample table: Customer
SELECT * FROM orders a WHERE purch_amt > (SELECT AVG(purch_amt) FROM orders b WHERE b.customer_id = a.customer_id);
Output of the Query:
ord_no purch_amt ord_date customer_id salesman_id 70008 5760.00 2012-09-10 3002 5001 70003 2480.40 2012-10-10 3009 5003 70013 3045.60 2012-04-25 3002 5001 70007 948.50 2012-09-10 3005 5002
Contribute your code and comments through Disqus.
Previous: From the following tables, write a SQL query to find the salespeople who had more than one customer. Return salesman_id and name.
Next: From the following tables, write a SQL query to find those orders, which are equal or higher than average amount of the orders. Return ord_no, purch_amt, ord_date, customer_id and salesman_id.
What is the difficulty level of this exercise?
- New Content published on w3resource:
- Scala Programming Exercises, Practice, Solution
- Python Itertools exercises
- Python Numpy exercises
- Python GeoPy Package exercises
- Python Pandas exercises
- Python nltk exercises
- Python BeautifulSoup exercises
- Form Template
- Composer - PHP Package Manager
- PHPUnit - PHP Testing
- Laravel - PHP Framework