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:
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ć.
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:
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;
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ść.
To tylko dodajemy LIMIT
SELECT AVG(id) AS srednia FROM Tabela GROUP BY YEAR(DATA),MONTH(DATA) ORDER BY srednia DESC LIMIT 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.