AdventureWorks Database: Specify which groups to include in the results

SQL Query - AdventureWorks: Exercise-18 with Solution

18. From the following table write a query in SQL to retrieve the total sales for each year. Filter the result set for those orders where order year is on or before 2016. Return the year part of orderdate and total due amount. Sort the result in ascending order on year part of order date.

Sample table: Sales.SalesOrderHeader

Click to view Full table

Sample Solution:

SELECT DATE_PART('year',OrderDate) AS YearOfOrderDate  
    ,SUM(TotalDue) AS TotalDueOrder  
FROM Sales.SalesOrderHeader  
GROUP BY DATE_PART('year',OrderDate)  
HAVING DATE_PART('year',OrderDate) <= '2016'  
ORDER BY DATE_PART('year',OrderDate);

Sample Output:


SQL AdventureWorks Editor:

Practice Online

Contribute your code and comments through Disqus.

Previous: Sales by year using GROUP BY with an expression.
Next: Contacts designated as a manager.

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.