Heim > Fragen und Antworten > Hauptteil
Ich bin MySQL-Neuling und benötige Ihre Hilfe beim Ausarbeiten einer Abfrage, damit ich den Durchschnitt für jedes Quartal berechnen kann. Ich habe eine Tabelle namens USretail92_21, die so aussieht (von 1992 bis 2021):
Datum | Verkauf |
---|---|
01.01.1992 | 701.0 |
1992-02-01 | 658,0 |
01.03.1992 | 731,0 |
01.04.1992 | 816,0 |
01.05.1992 | 856,0 |
01.06.1992 | 853,0 |
01.07.1992 | 101,0 |
01.08.1992 | 558,0 |
1992-09-01 | 431,0 |
Betrachten Sie das Datumsformat 1992-01-01 als Darstellung des Januars 1992. Jetzt führe ich die folgende Abfrage aus, um das Quartal und den Monat zu erhalten:
选择年份(日期)为年份,月份名称(日期)为月份,季度(日期)为季度,销售额来自 USretail92_21,其中 kind="男装店" order by 1
Das gibt mir diese Perspektive:
Jahr | Monat | Viertel | Verkauf |
---|---|---|---|
1992 | Januar | 1 | 701.0 |
1992 | Februar | 1 | 658,0 |
1992 | März | 1 | 731,0 |
1992 | April | 2 | 816,0 |
1992 | Mai | 2 | 856,0 |
1992 | Juni | 2 | 853,0 |
Meine Frage an Sie ist nun, wie Sie den durchschnittlichen Umsatz pro Quartal ermitteln und die unten gezeigte Ausgabe erhalten:
Viertel | Jahr | Durchschnittlicher Umsatz |
---|---|---|
1 | 1992 | 696 (Durchschnitt Januar/Februar/März) |
2 | 1992 | 841 |
Letztendlich möchte ich ein Diagramm in Python mit Verkäufen als Y-Achse und „Q1_92 bis Q4_21“ als X-Achse zeichnen
P粉7887656792024-01-30 09:01:32
您需要使用 GROUP BY
来计算总和和平均值等聚合。
根据您的示例进行工作:
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
或者一次性完成所有操作:
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)