Wyliczenie średniej z określonego czasu

Wyliczenie średniej z określonego czasu
Sebastiano
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 488
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:

Vardamir
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Wrocław
1
Kopiuj
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ć.

Sebastiano
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 488
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:

Vardamir
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Wrocław
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.

Kopiuj
SELECT MONTH(DATA),AVG(id) AS srednia FROM Tabela GROUP BY MONTH(DATA) ORDER BY srednia DESC;
Sebastiano
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 488
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.

Kopiuj
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ść.

Vardamir
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Wrocław
1

To tylko dodajemy LIMIT

Kopiuj
SELECT AVG(id) AS srednia FROM Tabela GROUP BY YEAR(DATA),MONTH(DATA) ORDER BY srednia DESC LIMIT 1;
Sebastiano
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 488
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.