SQL Exercise: Number of orders booked for each day
SQL Formatting Output: Exercise-2 with Solution
From the following table, write a SQL query to find the number of orders booked for each day. Return the result in a format like "For 2001-10-10 there are 15 orders".
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 counts the number of orders for each 'ord_date' and provides a descriptive output.
-- It selects constant strings along with calculated counts for each 'ord_date'.
SELECT ' For', ord_date, ',there are', COUNT(ord_no), 'orders.'
-- Specifies the table from which to retrieve the data (in this case, 'orders').
FROM orders
-- Groups the result set by the 'ord_date' column.
GROUP BY ord_date;
Output of the Query:
?column? ord_date ?column? count ?column? For 2012-04-25 ,there are 1 orders. For 2012-06-27 ,there are 1 orders. For 2012-07-27 ,there are 1 orders. For 2012-08-17 ,there are 2 orders. For 2012-09-10 ,there are 3 orders. For 2012-10-05 ,there are 2 orders. For 2012-10-10 ,there are 2 orders.
Code Explanation:
The query in SQL retrieves data from the 'orders' table and returns the information: The string "For", the column ord_date, the string ",there are", the count of the column ord_no, calculated using the COUNT function and grouped by ord_date, and the string "orders."
In the end, the final result that displays the message "For (order_date), there are (count of order_no) orders." for each unique order_date value.
Relational Algebra Expression:
Relational Algebra Tree:
Explanation :
Visual presentation :
Practice Online
Query Visualization:
Duration:
Rows:
Cost:
Have another way to solve this solution? Contribute your code (and comments) through Disqus.
Previous SQL Exercise: Salesmen commission with the percent sign (%).
Next SQL Exercise: Display orders after sorting orders by order number.
What is the difficulty level of this exercise?
Test your Programming skills with w3resource's quiz.
It will be nice if you may share this link in any developer community or anywhere else, from where other developers may find this content. Thanks.
https://w3resource.com/sql-exercises/sql-formatting-output-exercise-2.php
- Weekly Trends and Language Statistics
- Weekly Trends and Language Statistics