Oui, il est possible de faire un tri par année ou par mois.
D'ailleurs, si vous faîtes un tri sur la date entière, vous aurez le tri sur l'année, puis sur le mois, puis, sur le jour, puis sur l'heure, les minutes, et les secondes (si vos dates incluent les heures, les minutes, et les secondes). Donc, je ne vois pas trop l'intérêt de faire plusieurs tris, plutôt qu'un seul tri général sur la date. Ensuite, si vous voulez faire des "ruptures" entre chaque année ou chaque mois, ce n'est plus un problème de tri, mais un problème de présentation des données. Généralement, on extrait les données par une requête SQL, et on les reformate pour la présentation avec un programme qui est dans un autre langage que le SQL.
Comme la gestion des date est différente d'une base de donnée à une autre, pour répondre à votre question, il faudrait que vous nous disiez si votre base est MySQL, Oracle, Access, ou autre.