﻿ SQL: Count how many salesmen each day register orders

# SQL Exercises: Count how many salesmen each day register orders

## SQL Aggregate Functions: Exercise-20 with Solution

From the following table, write a SQL query to count the number of orders based on the combination of each order date and salesperson. Return order date, salesperson id.

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 combination of 'ord_date' and 'salesman_id' in the 'orders' table.
SELECT ord_date, salesman_id, COUNT(*)
-- Specifies the table from which to retrieve the data (in this case, 'orders').
FROM orders
-- Groups the result set by the 'ord_date' and 'salesman_id' columns.
GROUP BY ord_date, salesman_id;
``````

Output of the Query:

```ord_date	salesman_id	count
2012-07-27	5001		1
2012-08-17	5007		1
2012-04-25	5001		1
2012-09-10	5002		1
2012-10-05	5002		1
2012-10-10	5003		1
2012-09-10	5005		1
2012-08-17	5003		1
2012-06-27	5002		1
2012-09-10	5001		1
2012-10-05	5001		1
2012-10-10	5006		1
```

Code Explanation:

The said SQL query that count the number of orders placed on each date by each salesman. The "GROUP BY ord_date, salesman_id" clause groups the rows in the 'orders' table by the "ord_date" and "salesman_id" columns, and the "COUNT()" function counts the number of rows in each group.

Relational Algebra Expression:

Relational Algebra Tree:

Explanation:

Visual presentation:

## Query Visualization:

Duration:

Rows:

Cost:

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

Previous SQL Exercise: Number of non NULL city values for salesmen.
Next SQL Exercise: Calculate the average price of all the products.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.

﻿