[MySQL] tijd tussen DATETIME's

Pagina: 1
Acties:

  • TheBlasphemer
  • Registratie: September 2004
  • Laatst online: 13-11-2025
Ik heb een database met wat entries, elke entry met een datetime Posted en Sent.
Posted is wanneer hij op de site is geplaatst, Sent wanneer die verwerkt is.
Nu wil ik graag wat statistiekjes hebben, en een leuke query leek me:
code:
1
SELECT AVG(Sent-Posted)/60 AS Time, MIN(Sent-Posted)/60 AS Min, MAX(Sent-Posted)/60 AS Max FROM Messages WHERE Sent IS NOT NULL AND Posted>DATE_SUB(Now(),INTERVAL 24 HOUR)

Hier komen echter alleen rare getallen uit, die mij erg hoog lijken :/
Weet iemand wat ik hier fout doe, of hoe ik die nummertje interpreteer ?

Alvast bedankt,
TB

[img=http://www.web2messenger.com/smallstatus/w2m/theblasp.png]


Verwijderd

Ehm, volgensmij mis ik wat je precies met de query wilt of kijk ik er overheen :)

  • frickY
  • Registratie: Juli 2001
  • Laatst online: 01-05 14:20
Ik heb geen idee wat je precies wilt, maar het is ongetwijfeld te vinden op deze pagina; http://dev.mysql.com/doc/...e_and_time_functions.html

Verwijderd

En ik denk dat je de data eerst moet omzetten naar timestamps om met datetime-velden te kunnen rekenen (weet het niet zeker).

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 15-04 22:07

NMe

Quia Ego Sic Dico.

Met datums en tijden rekenen doe je met makkelijker met o.a. DATE_ADD en DATE_SUB, niet door ze gewoon van elkaar af te trekken/delen. Verder heb ik net als de mensen boven me geen idee wat je nu met deze query wil bereiken. Lees P&W FAQ - De "quickstart" even en pas je startpost aan of post wat meer info, want zo kunnen we je niet helpen. :)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • TheBlasphemer
  • Registratie: September 2004
  • Laatst online: 13-11-2025
Foutje, had nog wat testspullen in de query staan ;)
DATE_SUB werkte niet, dit wel gedeeltelijk, maar ook niet precies wat ik wil:
code:
1
SELECT AVG(Sent-Posted) AS Time, MIN(Sent-Posted) AS Min, MAX(Sent-Posted) AS Max FROM Messages WHERE Sent IS NOT NULL AND Posted>DATE_SUB(Now(),INTERVAL 24 HOUR)

Elke entry heeft twee timestamps, eentje wanneer hij werd gepost op de site (Posted), en eentje wanneer een ander systeem (dat ook aan mysql is gekoppeld) hem heeft verwerkt.
De query moet voor mij uitrekenen hoe lang de entries gepost in de afgelopen 24-uur erover deden om verwerkt te worden. ik wou een gemiddelde, een minimumtijd, en een maximumtijd.
Ik krijg met bovenstaande query wel wat nummertjes, maar ik heb geen idee wat de nummertjes betekenen :/
Aan jullie dus de vraag wat ik nou fout doe, en hoe ik het anders zou moeten oplossen...

[ Voor 4% gewijzigd door TheBlasphemer op 14-08-2005 15:10 ]

[img=http://www.web2messenger.com/smallstatus/w2m/theblasp.png]


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 15-04 22:07

NMe

Quia Ego Sic Dico.

Sent en Posted zijn DATETIME velden, right? Die kun je dus niet zo van elkaar aftrekken, tenzij je ze omzet naar UNIX timestamps, zoals HereIam al zei.

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • Vesta
  • Registratie: November 2004
  • Niet online
frickY schreef op zondag 14 augustus 2005 @ 14:51:
Ik heb geen idee wat je precies wilt, maar het is ongetwijfeld te vinden op deze pagina; http://dev.mysql.com/doc/...e_and_time_functions.html
Precies. Daar staat gewoon hoe je het verschil tussen twee datums kunt krijgen.
Pagina: 1