I have the following query to generate column in a select query, which I manually type, however I'd like to have the columns generated through an iterative loop which takes the start date and end date and then outputs the corresponding years between the start date and end date
SELECT
SUM(IF(DATE_FORMAT(a.`Date_First_Seen`,"%Y")="2011",1,0))"2011"
,SUM(IF(DATE_FORMAT(a.`Date_First_Seen`,"%Y")="2012",1,0))"2012"
,SUM(IF(DATE_FORMAT(a.`Date_First_Seen`,"%Y")="2013",1,0))"2013"
,SUM(IF(DATE_FORMAT(a.`Date_First_Seen`,"%Y")="2014",1,0))"2014"
,SUM(IF(DATE_FORMAT(a.`Date_First_Seen`,"%Y")="2015",1,0))"2015"
,SUM(IF(DATE_FORMAT(a.`Date_First_Seen`,"%Y")="2016",1,0))"2016"
,SUM(IF(DATE_FORMAT(a.`Date_First_Seen`,"%Y")="2017",1,0))"2017"
,SUM(IF(DATE_FORMAT(a.`Date_First_Seen`,"%Y")="2018",1,0))"2018"
FROM year_table a
WHERE DATE_FORMAT(Date_First_Seen,"%Y") BETWEEN "2011" AND "2018"