Q&A for professional and enthusiast programmers
select DATEADD(YEAR, DATEDIFF(YEAR,0,creationDate), 0) as creation_year, TagName, count(TagName) as num_tags from PostTags inner join ( select PostId from PostTags where TagId = (select id from Tags where TagName = 'python') ) p on PostTags.PostId = p.PostId inner join ( select Id, creationDate from Posts inner join ( select PostId from PostTags where TagId = (select id from Tags where TagName = 'python') ) p2 on Posts.id = p2.PostId ) p3 on PostTags.PostId = p3.Id inner join Tags on PostTags.TagId = Tags.Id group by DATEADD(YEAR, DATEDIFF(YEAR,0,creationDate), 0), TagName having TagName != 'python' --- remove 'python' tags order by num_tags desc