Date_Format Abfrage in Schichtsystem

  • MySQL

  • Hägar1111
  • 7770 Aufrufe 1 Antwort

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Date_Format Abfrage in Schichtsystem

    Hallo!

    Bei einem MySQL/PHP Projekt das ich betreue, werden in einer tabelle Messwerte eingespeichert (ca.2000 pro Tag). Jetz werte ich die Daten über den Zeitraum einer Woche mit

    SELECT DATE_FORMAT(DatumZeit, '%Y-%m-%d')as Tag, sum(Teil_IO_NIO='NIO')as NIO, sum(Teil_IO_NIO='GW')as GW, sum(Teil_IO_NIO='IO')as IO FROM dichtpr_uk WHERE (`DatumZeit` >= '2012-03-28 06:30:00' AND `DatumZeit` <= '2012-04-05 06:30:00') GROUP BY Tag
    aus.

    Das Problem dabei ist, das Tag dann immer von 00:00 Uhr bis 24:00 abgefragt wird. Da aber bei uns im Schichtsystem gearbeitet wird, müsste die Abfrage des Tages immer von Tag 06:30 bis Tag+1 06:30 erfolgen.

    Bei Schleifenprogrammierung jedes einzelnen Tages dauert es so lange bis die Abfrage fertig ist, zumal auch mehr wie eine Woche abgefragt werden können.

    Meine Frage ist ob man das DATE_FORMAT so formatieren kann, dass die Bedingung erfüllt ist. (vielleicht über Zeitzonenverschiebung?)

    Danke schon mal im Vorraus
  • Hi,
    ich würde einfach von der Zeit (60 * 60 * 6 + (60 * 30)) 6 Uhr 30 in Sekunden von dem Datum abziehen - dann ist 6:30Uhr 0:00 Uhr ;)

    Wobei es vielleicht besser ist (bei der Datenmenge), ein extra Feld für den Schicht-Tag zu haben.

    Quellcode

    1. FLOOR((UNIX_TIMESTAMP() -19800) /86400)


    Gruß
    Broken Sword
    Auf dem Abstellgleis sah man ihn liegen,
    Auf dem Abstellgleis zwischen Schwelle und Gestein,
    Auf dem Abstellgleis im strömenden Regen,
    Auf dem Abstellgleis allein.