Stránka 1 z 1

SQL "SELECT"

Napsal: 01 led 2018, 18:04
od pavel1tu
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".

Re: SQL "SELECT"

Napsal: 01 led 2018, 19:30
od zbysek
Dobrý den, tohle závisí hodně na tom, jak máte navrženou tabulku. Bez toho se asi dále nedostaneme :)

Re: SQL "SELECT"

Napsal: 01 led 2018, 21:08
od pavel1tu
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/

Re: SQL "SELECT"

Napsal: 01 led 2018, 21:28
od zbysek
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í"

Re: SQL "SELECT"

Napsal: 01 led 2018, 21:33
od pavel1tu
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 ...