Nie jest do końca jasne, co ma zrobić w zapytaniu , ale sedno twojego pytania skłania mnie do zasugerowania, żebyś przyjrzał się arytmetyce modularnej:w SQL a % b zwraca pozostałość kiedy a jest dzielona przez b - jeśli nie ma reszty (np. a % b =0 ), a następnie a musi być dokładną wielokrotnością z b .
W twoim przypadku myślę próbujesz znaleźć zdarzenia, w których czas między początkiem zdarzenia a danym literałem jest dokładną wielokrotnością interwału zdarzenia:to znaczy (literał - event_start) % event_interval =0 . Jeśli jest niezerowe, wartością jest czas do następnego wystąpienia po literal (a zatem, aby ustalić, czy to następne wystąpienie nastąpi w pewnym okresie czasu, powiedzmy dnia, można by sprawdzić, czy reszta jest mniejsza niż taka stała, np. (literal - event_start) % event_interval <86400 ).
Jeśli to nie jest to, czego szukasz, wyjaśnij dokładnie, co ma osiągnąć Twoje zapytanie.