Inclure les mois nuls dans les calculs de moyenne mensuelle
Cette question cherche une solution pour récupérer les moyennes mensuelles tout en incorporant les mois avec des valeurs nulles dans une date spécifiée range.
Pour résoudre ce problème, il est recommandé d'établir un tableau séparé contenant tous les mois possibles (dateTable). En connectant cette table à la table de données principale (myTable) via un LEFT JOIN, les valeurs nulles peuvent être efficacement capturées.
Considérez le code suivant :
<code class="sql">SELECT `DT`.`myYear`, `DT`.`myMonth`, AVG(`myTable`.`value1`) AS `avg_value_1`, AVG(`myTable`.`value2`) AS `avg_value_2` FROM `dateTable` AS `DT` LEFT JOIN `myTable` ON `dateTable`.`myDate` = `myTable`.`save_date` WHERE `dateTable`.`myDate` BETWEEN '2009-01-01' AND '2009-07-01' GROUP BY `DT`.`myYear`, `DT`.`myMonth`</code>
Cette approche permet le regroupement des résultats basés sur les champs de dateTable, permettant une flexibilité dans les rapports par trimestre financier, mois, jour de la semaine et d'autres facteurs pertinents liés au temps.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!