Det er ikke helt klart, hvad du vil have din forespørgsel til at gøre , men essensen af dit spørgsmål får mig til at hælde til at foreslå, at du kigger på modulær aritmetik:i SQL, a % b
returnerer resten når a
er divideret med b
- hvis der ikke er nogen rest (dvs. a % b =0
), derefter a
skal være et nøjagtigt multiplum af b
.
I dit tilfælde mener du forsøger at finde hændelser, hvor tiden mellem hændelsens start og en given literal er et nøjagtigt multiplum af hændelsesintervallet:det vil sige (literal - hændelsesstart) % hændelsesinterval =0
. Hvis den ikke er nul, er værdien tiden til næste forekomst efter literal
(og derfor, for at bestemme, om den næste forekomst finder sted inden for et vist tidsrum, f.eks. en dag, ville man teste for at se, om resten er mindre end en sådan konstant, f.eks. (bogstaveligt - begivenhed_start) % begivenhedsinterval <86400 ).
Hvis det ikke er det, du leder efter, bedes du præcisere, hvad din forespørgsel forsøger at opnå.