Q&A for professional and enthusiast programmers
select ta.tagname , count(ta.tagname) popular , year(p.creationdate) creationdateyear , rank()over(partition by year(p.creationdate) order by count(ta.tagname) desc) as rank from posttags po right join tags ta on ta.id = po.tagid right join posts p on p.id = po.postid group by ta.tagname,year(p.creationdate)