Autor | Zpráva | ||
---|---|---|---|
jurko Profil * |
#1 · Zasláno: 15. 7. 2007, 13:37:10
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 |
#2 · Zasláno: 15. 7. 2007, 16:44:38
ODCHOD - VSTUP
by mohlo stačiť |
||
jurko Profil |
#3 · Zasláno: 15. 7. 2007, 17:59:53 · Upravil/a: jurko
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 |
#4 · Zasláno: 15. 7. 2007, 18:07:43
Je možné, že ten údaj je v sekundách.
|
||
jurko Profil |
#5 · Zasláno: 15. 7. 2007, 18:16:14
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 |
#6 · Zasláno: 16. 7. 2007, 12:50:04
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 |
#7 · Zasláno: 16. 7. 2007, 12:50:57
Cel7 rpobl0m bol v tom, že ten čas ti pri jeho odrátavaní nepremenilo na sekundy, ale akosi iba "odignorovalo" dvojbodky.
|
||
jurko Profil |
#8 · Zasláno: 16. 7. 2007, 13:03:46
Ďakujem veľmi pekne. Moc si mi pomohol. Konečne mi to funguje tak ako má.
|
||
jurko Profil |
#9 · Zasláno: 16. 7. 2007, 13:30:29
Prikladám aj konkrétne riešenie môjho problému:
select AVG(time_to_sec(timediff(ODCHOD, VSTUP))) from evidencia |
||
Časová prodleva: 17 let
|
0