Q&A for power users of web applications
select *, count(*) from ( select CAST( cast(DATEPART(YYYY, CreationDate) as varchar) + '-' + cast(DATEPART(MM, CreationDate) as varchar) + '-01' as datetime) [Month], t.TagName from Posts p join PostTags pt on pt.PostId = p.Id join Tags t on t.Id = pt.TagId where year(p.CreationDate) IN (2015,2016, 2017, 2014) AND TagName IN ('google-sheets','google-apps-script') ) as X group by TagName, [Month] order by [Month] asc, TagName asc