Che ne dici di:
select datepart(yyyy, [date]) as [year]
from shoptransfer
group by datepart(yyyy, [date])
Oppure:
select count(*) as qty, datepart(yyyy, [date]) as [year]
from shoptransfer
group by datepart(yyyy, [date])
order by [year]
Questo si basa sul comando di OP:"Voglio raggruppare per anno parte della colonna di data (varchar)"