Mysql
 sql >> Database >  >> RDS >> Mysql

Ripetizione degli eventi del calendario e alcuni calcoli finali

Non è del tutto chiaro cosa vuoi che la tua query faccia , ma il senso della tua domanda mi fa propendere per suggerire di esaminare l'aritmetica modulare:in SQL, a % b restituisce il resto quando a è diviso per b - se non c'è resto (es. a % b = 0 ), quindi a deve essere un multiplo esatto di b .

Nel tuo caso, io penso stai cercando di trovare eventi in cui il tempo tra l'inizio dell'evento e un dato letterale è un multiplo esatto dell'intervallo di eventi:ovvero (literal - event_start) % event_interval = 0 . Se è diverso da zero, il valore è il tempo alla prossima occorrenza dopo literal (e, quindi, per determinare se l'occorrenza successiva si verifica entro un certo periodo di tempo, diciamo un giorno, si dovrebbe verificare se il resto è inferiore a tale costante es. (literal - event_start) % event_interval < 86400 ).

Se questo non è ciò che stai cercando, chiarisci esattamente che cosa sta cercando di ottenere la tua richiesta.