Autor Zpráva
jurko
Profil *
Prosím Vás pomôžte mi , ako vyjadriť priemerný čas z dvoch dátumov.
Skúšal som:

SELECT avg(timediff(ODCHOD, VSTUP))
FROM evidencia

Výsledok je nezmyselné číslo 8000.0000000000

Skrypt SELECT timediff( ODCHOD, VSTUP ) FROM evidencia
dá výsledok:
timediff( ODCHOD , VSTUP )
00:30:00
01:30:00

Ako to mám napísať aby bol výsledok 01:00:00 ?
temistokles
Profil
ODCHOD - VSTUP
by mohlo stačiť
jurko
Profil
No nestačí. Tento príkaz tiež dá výsledok nezmyselné číslo. Mne ide o to, aby mi z dvoch alebo viacerých časov jednom stĺpci spravil priemer (priemerný čas zdržania).
Niečo ako:
SELECT AVG(timediff(ODCHOD, VSTUP)) FROM evidencia

čo samozrejme nefunguje.
temistokles
Profil
Je možné, že ten údaj je v sekundách.
jurko
Profil
No sekundy to zrovna niesú.
Takto ráta mysql:
prichod: 11:44:56
odchod: 12:33:44

select odchod - prichod from .....

123344 - 114456 = 8888

Takže keby to bolo v sekundách, je to 2,46 hodiny ale v skutočnosti je rozdiel času 48 minút 44 sekúnd.
temistokles
Profil
SELECT TIME_TO_SEC(odchod) - TIME_TO_SEC(prichod) AS sekund_pobytu FROM ....

45224 s - 42296 s = 2928 s
2928 s = 48,8 min

Referencia: http://dev.mysql.com/doc/refman/5.0/en/date-and-time-functions.html
temistokles
Profil
Cel7 rpobl0m bol v tom, že ten čas ti pri jeho odrátavaní nepremenilo na sekundy, ale akosi iba "odignorovalo" dvojbodky.
jurko
Profil
Ďakujem veľmi pekne. Moc si mi pomohol. Konečne mi to funguje tak ako má.
jurko
Profil
Prikladám aj konkrétne riešenie môjho problému:

select AVG(time_to_sec(timediff(ODCHOD, VSTUP)))
from evidencia

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0