Bonjour à tous,
Je m'en remets une nouvelle fois à vos connaissances pour ce sujet que je n'arrive pas à résoudre.

Contexte :
- Table de la Base de données SQL : "parc"
- Plusieurs type de matériels enregistré colonne "TYPE"
- Une date de Première mise en circulation sous la forme DateTime "0000-00-00"
- Une date référence qui évolue sur les 7 dernières années

Objectifs :
Je souhaiterai calculer l'évolution de la moyenne d'âge des matériels sur les 7 dernières années par Type de matériel.

Le code que j'ai édité :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
 
<?php
for ($k = 0; $k <=6; $k++) {
 
	$dateRecherche = new DateTime($date_fin); // Date de recherche
	$dateRecherche->format('Y-m-d'); // Mettre la date au format
	$annee=$dateRecherche->format('Y'); // Extraire l'année
 
	$an=$annee-$k; // On extrait une année pour la référence du tableau
 
	$tabKeyAn[$an]=$an;
 
	// On va soustraire 1 an à la date
	$dateRecherche->sub(new DateInterval('P'.$k.'Y'));
	$dateSelect=$dateRecherche->format('Y-m-d');
 
	$extractAgeVehicule = $bdd->query("SELECT TYPE, AVG(DATEDIFF(".$dateSelect.",PREMIERE_CIRCULATION)) AS age_moyen FROM `parc` WHERE SESSION_UTILISATEUR='".$_SESSION['session_parc']."' AND PREMIERE_CIRCULATION<='".$dateSelect."' AND (DATE_DECLASSEMENT>='".$dateSelect."' OR DATE_DECLASSEMENT='0000-00-00') GROUP BY TYPE");
	while ($moyenneAgeExtraitParAn = $extractAgeVehicule->fetch()){
 
                $type=$moyenneAgeExtraitParAn['TYPE'];
		$moyenneAge[$an][$type]=$moyenneAgeExtraitParAn['age_moyen'];
	}
 
}
 
var_dump($moyenneAge);
?>
Résultat de la requête :

array(7) { [2018]=> array(9) { ["BERLINE"]=> NULL ["DIVERS"]=> NULL ["FGON"]=> NULL ["FGTTE"]=> NULL ["P.L."]=> NULL ["SCOOTER"]=> NULL ["SPECIAL"]=> NULL ["TONDEUSE"]=> NULL ["VELO"]=> NULL } [2017]=> array(9) { ["BERLINE"]=> NULL ["DIVERS"]=> NULL ["FGON"]=> NULL ["FGTTE"]=> NULL ["P.L."]=> NULL ["SCOOTER"]=> NULL ["SPECIAL"]=> NULL ["TONDEUSE"]=> NULL ["VELO"]=> NULL } [2016]=> array(9) { ["BERLINE"]=> NULL ["DIVERS"]=> NULL ["FGON"]=> NULL ["FGTTE"]=> NULL ["P.L."]=> NULL ["SCOOTER"]=> NULL ["SPECIAL"]=> NULL ["TONDEUSE"]=> NULL ["VELO"]=> NULL } [2015]=> array(9) { ["BERLINE"]=> NULL ["DIVERS"]=> NULL ["FGON"]=> NULL ["FGTTE"]=> NULL ["P.L."]=> NULL ["SCOOTER"]=> NULL ["SPECIAL"]=> NULL ["TONDEUSE"]=> NULL ["VELO"]=> NULL } [2014]=> array(9) { ["BERLINE"]=> NULL ["DIVERS"]=> NULL ["FGON"]=> NULL ["FGTTE"]=> NULL ["P.L."]=> NULL ["SCOOTER"]=> NULL ["SPECIAL"]=> NULL ["TONDEUSE"]=> NULL ["VELO"]=> NULL } [2013]=> array(9) { ["BERLINE"]=> NULL ["DIVERS"]=> NULL ["FGON"]=> NULL ["FGTTE"]=> NULL ["P.L."]=> NULL ["SCOOTER"]=> NULL ["SPECIAL"]=> NULL ["TONDEUSE"]=> NULL ["VELO"]=> NULL } [2012]=> array(9) { ["BERLINE"]=> NULL ["DIVERS"]=> NULL ["FGON"]=> NULL ["FGTTE"]=> NULL ["P.L."]=> NULL ["SCOOTER"]=> NULL ["SPECIAL"]=> NULL ["TONDEUSE"]=> NULL ["VELO"]=> NULL } }

Auriez vous une solution ?