Wyliczenie średniej z określonego czasu

0

Mam pomiary z pół roku dla 3 miejsc (M1,M2,M3), czy istnieje techniczna możliwość aby wyciągnąć z nich miesiąc w którym była najwyższa średnia temperatura (który miesiąc był najcieplejszy) ? Proszę o rady i wskazówki:) Poniżej screen struktury tabelki:

1
SELECT YEAR(data),MONTH(data),AVG(id) as srednia FROM Tabela GROUP BY YEAR(data),MONTH(data) ORDER BY srednia DESC;

Pierwszy wiersz jest tym co chcesz uzyskać.

0

I o to właśnie chodziło:) Na screenie poniżej widac który miesiąc był najcieplejszy, a potem wyraźna tendencja spadkowa. Dzięki za pomoc!

Edit: @Vardamir Mam jeszcze jedno pytanie.Jak robie:
SELECT MONTH(DATA),AVG(temp) AS srednia FROM tabelaWHERE miejsce = 'M1'
dostaje wartość środkową, natomiast jak pobrać miesiąc z najwyższą średnią?Opisałem problem na screenie:

1

Nie do końca rozumiem o co Ci chodzi. Nie dostaniesz bo nie grupujesz i nie sortujesz. To co otrzymujesz jest średnia spośród wszystkich danych dla miejsca M1.

SELECT MONTH(DATA),AVG(id) AS srednia FROM Tabela GROUP BY MONTH(DATA) ORDER BY srednia DESC;
0
Vardamir napisał(a):

Nie do końca rozumiem o co Ci chodzi. Nie dostaniesz bo nie grupujesz i nie sortujesz. To co otrzymujesz jest średnia spośród wszystkich danych dla miejsca M1.

SELECT MONTH(DATA),AVG(id) AS srednia FROM Tabela GROUP BY MONTH(DATA) ORDER BY srednia DESC;

Zgadza się, tylko ja bym chciał otrzymać tylko tę największą wartość.

1

To tylko dodajemy LIMIT

SELECT AVG(id) AS srednia FROM Tabela GROUP BY YEAR(DATA),MONTH(DATA) ORDER BY srednia DESC LIMIT 1;
1

No właśnie "LIMIT" - tego mi brakowało:)

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.