Requête pour calculer la moyenne de chaque trimestre
P粉521697419
P粉521697419 2024-01-29 11:58:00
0
1
434

Je suis nouveau sur MySQL et j'ai besoin de votre aide pour trouver une requête afin de pouvoir calculer la moyenne pour chaque trimestre. J'ai un tableau appelé USretail92_21 qui ressemble à ceci (de 1992 à 2021) :

Date Ventes
01/01/1992 701.0
01/02/1992 658.0
01/03/1992 731.0
1992-04-01 816.0
1992-05-01 856.0
1992-06-01 853.0
1992-07-01 101.0
1992-08-01 558.0
01/09/1992 431.0

Considérez le format de date 1992-01-01 pour représenter janvier 1992. Maintenant, je lance la requête suivante pour obtenir le trimestre et le mois :

选择年份(日期)为年份,月份名称(日期)为月份,季度(日期)为季度,销售额来自 USretail92_21,其中 kind="男装店" order by 1 Cela me donne cette perspective :

année mois Quartier Ventes
1992 Janvier 1 701.0
1992 Février 1 658.0
1992 Mars 1 731.0
1992 avril 2 816.0
1992 Mai 2 856.0
1992 Juin 2 853.0

Maintenant, ma question est de savoir comment obtenir les ventes moyennes par trimestre et obtenir le résultat comme indiqué ci-dessous :

Quartier année Ventes moyennes
1 1992 696 (moyenne janvier/février/mars)
2 1992 841

En fin de compte, je souhaite dessiner un graphique en Python avec les ventes comme axe Y et "T1_92 à Q4_21" comme axe X

P粉521697419
P粉521697419

répondre à tous(1)
P粉788765679

Vous devez utiliser GROUP BY pour calculer des agrégations telles que des sommes et des moyennes.

À partir de votre exemple :

WITH SalesPerMonth AS (
  select year(date) as Year,
  monthname(date)as Month, 
  quarter(date) as Quarter, 
  sales from USretail92_21 
  where kind="Men's clothing stores" 
)
SELECT Quarter, Year, AVG(Sales) AS AverageSales
FROM SalesPerMonth 
GROUP BY Quarter, Year

Ou faites tout cela en même temps :

select year(date) as Year,
       quarter(date) as Quarter, 
       AVG(sales) AverageSales
from USretail92_21 
where kind="Men's clothing stores"
group by year(date),
         quarter(date)
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal