AdventureWorks Database: Sales by year using GROUP BY with an expression

SQL Query - AdventureWorks: Exercise-17 with Solution

17. From the following table write a query in SQL to retrieve the total sales for each year. Return the year part of order date 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 "Year"  
    ,SUM(TotalDue) AS "Order Amount"  
FROM Sales.SalesOrderHeader  
GROUP BY DATE_PART('year',OrderDate)  
ORDER BY DATE_PART('year',OrderDate);

Sample Output:

Year  |Order Amount |

SQL AdventureWorks Editor:

Practice Online

Contribute your code and comments through Disqus.

Previous: Count employees for each city group by using multiple tables.
Next: Specify which groups to include in the results.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.

Share this Tutorial / Exercise on : Facebook and Twitter

SQL: Tips of the Day

T-SQL Cast versus Convert?

CONVERT is SQL Server specific, CAST is ANSI.

CONVERT is more flexible in that you can format dates etc. Other than that, they are pretty much the same. If you don't care about the extended features, use CAST.

Ref : https://bit.ly/3VKT5M8