Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Wiederholen von Kalenderereignissen und einigen abschließenden Berechnungen

Es ist nicht ganz klar, was Ihre Abfrage tun soll , aber der Inhalt Ihrer Frage lässt mich dazu tendieren, vorzuschlagen, dass Sie sich mit modularer Arithmetik befassen:in SQL a % b gibt den Rest zurück wenn a wird durch b geteilt - wenn kein Rest vorhanden ist (d.h. a % b = 0 ), dann a muss ein genaues Vielfaches sein von b .

In Ihrem Fall glaube ich Sie versuchen, Ereignisse zu finden, bei denen die Zeit zwischen dem Ereignisstart und einem bestimmten Literal ein genaues Vielfaches des Ereignisintervalls ist:das heißt, (literal - event_start) % event_interval = 0 . Wenn es nicht Null ist, ist der Wert die Zeit bis zum nächsten Vorkommen nach literal (und um daher zu bestimmen, ob dieses nächste Ereignis innerhalb eines bestimmten Zeitraums auftritt, sagen wir einen Tag, würde man testen, ob der Rest kleiner als eine solche Konstante ist, z. B. (literal - event_start) % event_interval < 86400 ).

Wenn dies nicht das ist, wonach Sie suchen, erläutern Sie bitte genau, was Sie mit Ihrer Anfrage erreichen möchten.