| Autor | Zpráva | ||
|---|---|---|---|
| CRSSo Profil * |
#1 · Zasláno: 4. 1. 2023, 10:09:26
Ahoj,
ukládám do mySQL z meteostanice data a rád bych vypsal za dnešní den min a max hodnoty včetně časů. Lze to řešit jedním mySQL dotazem nebo musím jednotlivě? Chci vypsat teplotu, vlhkost, tlak, apod. Hrozně moc děkuji. |
||
| Kajman Profil |
#2 · Zasláno: 4. 1. 2023, 10:25:55
Jakou verzi mysql máte? Jaká je struktura tabulky?
|
||
| CRSSo Profil * |
#3 · Zasláno: 4. 1. 2023, 10:30:18
Verze MySQL: 5.5.5-10.3.27-MariaDB-log
id teplota vlhkost tlak timestamp (datetime) |
||
| Kajman Profil |
#4 · Zasláno: 4. 1. 2023, 10:39:54
Z té dvojité verze mi není jasná podpora analytických dotazů. Tento dotaz funguje?
SELECT Row_number() OVER() rownumer FROM dual |
||
| CRSSo Profil * |
#5 · Zasláno: 4. 1. 2023, 10:41:24
rownumer = 1 to vypsalo. Žádná chyba.
|
||
| Kajman Profil |
Tak bych zkusil něco takového
SELECT m.*
FROM (
SELECT t.* ,
Rank() OVER (ORDER BY teplota) teplota_min,
Rank() OVER (ORDER BY teplota DESC) teplota_max,
Rank() OVER (ORDER BY vlhkost) vlhkost_min,
Rank() OVER (ORDER BY vlhkost DESC) vlhkost_max,
Rank() OVER (ORDER BY tlak) tlak_min,
Rank() OVER (ORDER BY tlak DESC) tlak_max
FROM meteostanice t
WHERE t.timestamp >= Date('2023-01-04')
AND t.timestamp < Adddate(Date('2023-01-04'), INTERVAL 1 DAY)) m
WHERE 1 IN (m.teplota_min,
m.teplota_max,
m.vlhkost_min,
m.vlhkost_max,
m.tlak_min,
m.tlak_max) Pokud bude více hraničních hodnot, budou tam všechny hraniční řádky. Pokud by tam měl být jen jakýkoliv z nich, můžete použít Row_number místo Rank. |
||
|
Časová prodleva: 4 roky
|
|||
0