I have a table (tbl_people), in this table I have a datetime field I want to group and count the records in groups of 10 years… The result should be something like:
| count | year |
| 1000 | 1980-1989 |
| 250 | 1990-1999 |
I can write multiple queries to do it, but that means I’ll have to write different queries for each range. Is there a way to dynamically increment from the least year upwards (10 year intervals) and count the number of records within the intervals?
First calculate the decade for each row
and then use this intermediate result for counting SQL Fiddle
or this SQL Fiddle, if you want the decade in one column