SQL "SELECT"

Wiring, C++, C, Java, ...
Pravidla fóra
Toto subfórum slouží k řešení obecných otázek kolem programování (konstrukce, knihovny, alokace paměti, ...)
Odpovědět
Uživatelský avatar
pavel1tu
Příspěvky: 2065
Registrován: 26 říj 2017, 08:28
Bydliště: Trutnov
Kontaktovat uživatele:

SQL "SELECT"

Příspěvek od pavel1tu » 01 led 2018, 18:04

Jen rychlý dotaz ....

Zvládl jsem udělat SQL dotaz, který mi každý den vypočítá průměrnou teplotu, srovná dle datumu, ale pokulhává mi aby zobrazil jen posledních 30 dní nebo za daný měsíc ....
Neřešil to někdo ?
Já se vždycky zahraby v těch AS "virtuálních sloupcích".
UNO, NANO, Mikro, PRO mini, DUE, ESP32S2, RPi PICO
Pavel1TU
"Správně napsaný kod lze číst jako knihu"

zbysek
Site Admin
Příspěvky: 125
Registrován: 22 úno 2017, 15:18

Re: SQL "SELECT"

Příspěvek od zbysek » 01 led 2018, 19:30

Dobrý den, tohle závisí hodně na tom, jak máte navrženou tabulku. Bez toho se asi dále nedostaneme :)

Uživatelský avatar
pavel1tu
Příspěvky: 2065
Registrován: 26 říj 2017, 08:28
Bydliště: Trutnov
Kontaktovat uživatele:

Re: SQL "SELECT"

Příspěvek od pavel1tu » 01 led 2018, 21:08

zbysek píše:
01 led 2018, 19:30
Dobrý den, tohle závisí hodně na tom, jak máte navrženou tabulku. Bez toho se asi dále nedostaneme :)
JJ já si všimnul, že jsem to tam nenakopíroval ....
Jsem absolutní neprogramátor, vše zkoumám pomocí SQL dotazů přímo v PHPadmin až se doberu cíle

Tabulka: arduino_data (id (int); timestamp(timestamp) ; teplota(float), napeti(float), solar(float))
date(timestamp) - dostanu datum
time(timestamp) - dostanu čas

Umím dotaz na posledních teba 50 měření, srovnané dle datumu:

Kód: Vybrat vše

SELECT id, date(timestamp), time(timestamp), teplota, napeti, solar FROM (SELECT * FROM arduino_data ORDER BY timestamp DESC LIMIT 25) sub ORDER BY timestamp ASC
Umím dotaz, kdy zprůměruji teplotu za daný den a srovnám dle datumu:

Kód: Vybrat vše

SELECT date(timestamp), AVG( teplota ) AS PRUMER FROM arduino_data GROUP BY date(timestamp) ORDER BY AVG( date(timestamp) ) DESC
zde se nevolá do grafu "teplota" ale "PRUMER"

Tak a já bych to chtěl zkloubit v dotazy:
- průměrná teplota za posledních 30 dní, ideálně kalendářní měsíc

a to se mi nedaří a nedaří ....

viz. https://pavel1tu.dupeto.cz/arduino/
UNO, NANO, Mikro, PRO mini, DUE, ESP32S2, RPi PICO
Pavel1TU
"Správně napsaný kod lze číst jako knihu"

zbysek
Site Admin
Příspěvky: 125
Registrován: 22 úno 2017, 15:18

Re: SQL "SELECT"

Příspěvek od zbysek » 01 led 2018, 21:28

To se vám bude hodit klauzule WHERE, ve které budete zkoumat timestamp.
Ten budete porovnávat s aktuálním datem.

Viz například:
https://stackoverflow.com/questions/242 ... ast-7-days

Tedy "najdi mi záznamy, kde je timestamp ode dneška max 30 dní"

Uživatelský avatar
pavel1tu
Příspěvky: 2065
Registrován: 26 říj 2017, 08:28
Bydliště: Trutnov
Kontaktovat uživatele:

Re: SQL "SELECT"

Příspěvek od pavel1tu » 01 led 2018, 21:33

zbysek píše:
01 led 2018, 21:28
To se vám bude hodit klauzule WHERE, ve které budete zkoumat timestamp.
Ten budete porovnávat s aktuálním datem.

Viz například:
https://stackoverflow.com/questions/242 ... ast-7-days

Tedy "najdi mi záznamy, kde je timestamp ode dneška max 30 dní"
Tak to je SUPER, moc díky, chtěl jsem jít spát, ale tohle ještě pokořím ...
Další stránka odkud čerpat ...
UNO, NANO, Mikro, PRO mini, DUE, ESP32S2, RPi PICO
Pavel1TU
"Správně napsaný kod lze číst jako knihu"

Odpovědět

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 3 hosti