- Simple Queries (4)
- Setting criteria using WHERE (5)
- Calculations (7)
- Calculations using dates (4)
- Basic joins (8)
- More exotic joins (2)
- Aggregation and grouping (8)
- Views (5)
- Subqueries (5)
- Stored procedures (5)
- Variables (8)
- Parameters and return values (11)
- Testing conditions (1)
- Looping (3)
- Scalar functions (6)
- Transactions (5)
- Creating tables (5)
- Temporary tables and table variables (9)
- Table-valued functions (6)
- Derived tables and CTEs (13)
- Dynamic SQL (4)
- Pivots (2)
- Triggers (2)
- Archived (70)
SQL | Archived exercise | Grouping events by year and month
This exercise is provided to allow potential course delegates to choose the correct Wise Owl Microsoft training course, and may not be reproduced in whole or in part in any format without the prior written consent of Wise Owl.
You can learn how to do this exercise on the relevant Wise Owl classroom training course (sadly for the moment only in the UK).
You need a minimum screen resolution of about 700 pixels width to see our exercises. This is because they contain diagrams and tables which would not be viewable easily on a mobile phone or small laptop. Please use a larger tablet, notebook or desktop computer, or change your screen resolution settings.
If you haven't already got it set up in SQL server, restore the Historical Events database from the above folder.
Create a query to list the events by year and month, with the most recent event coming first. You may find the syntax of the DatePart function useful:
This would show the event year as a 4-digit number
Your final output should look like this:
Don't worry about the missing eventless months
If you get this working, try adding WITH CUBE or WITH ROLLUP immediately after your GROUP BY clause to see the effect of this. You should find that the ROLLUP option gives you yearly subtotals, while the CUBE option also gives you totals by month at the end.
Save your query as Events by date, then close it down.