T'as réponse m'a mis sur la voie. J'ai donc fait comme ça :
SELECT IF(DATE_FORMAT(Date, '%c')<8,CONCAT(CAST(DATE_FORMAT(Date, '%Y')-1 AS CHAR),' - ',CAST(DATE_FORMAT(Date, '%Y') AS CHAR)),CONCAT(CAST(DATE_FORMAT(Date, '%Y') AS CHAR),' - ',CAST(DATE_FORMAT(Date, '%Y')+1 AS CHAR))) AS Saison, SUM(Prix) AS Ventes FROM boutique_log GROUP BY Saison
Pour un peu plus d'explications pour des éventuels intéressés :
1/ Je récupère le mois (en numérique) du champs date :
DATE_FORMAT(Date, '%c')
2/ Je teste s'il est inférieur à 8:
IF(DATE_FORMAT(Date, '%c')<8
3/ Si oui, je crée le champ Saison qui concatène (année-1) - année, en prenant soin de convertir l'année en String :
CONCAT(CAST(DATE_FORMAT(Date, '%Y')-1 AS CHAR),' - ',CAST(DATE_FORMAT(Date, '%Y') AS CHAR))
3bis/ Si non, je crée le champ Saison qui concatène année - (année+1)
CONCAT(CAST(DATE_FORMAT(Date, '%Y') AS CHAR),' - ',CAST(DATE_FORMAT(Date, '%Y')+1 AS CHAR))
4/ Et enfin je groupe par ce nouveau champ Saison créé
GROUP BY Saison