¿Cómo puedo ejecutar consultas como "dentro de los cinco días" en los datos de la serie temporal?

StackOverflow https://stackoverflow.com/questions/5325261

Pregunta

Me gustaría tener una manera fácil de ejecutar consultas como la siguiente consulta en mis datos de series de tiempo:

"¿Cuáles son los eventos más típicos que tendrán lugar dentro de los siete días de los unos a los demás"?

Podría hacer esto utilizando SQL y un programa Java, mirando cada fila y ejecutando una consulta, que busca todos los eventos siete días antes o después, pero esto no es muy elegante y el rendimiento será horrible. ¿Hay otra forma de hacer esto con elegancia usando SQL o un lenguaje de consulta diferente?

La estructura de tabla simplificada es como la siguiente:

thetime datetime
eventid int
magnitude double
intensity double

No quiero describir específicamente de qué se tratan los datos, ya que estoy buscando una solución general.

¿Fue útil?

Solución

Puedes usar una unión propia para hacer algo como esto. Esta es una sintaxis válida para SQL Server, pero es difícil personalizar para su configuración cuando no conocemos la estructura de la tabla o qué RDBMS está utilizando ...

SELECT  TOP 10
        a.Event as 'First Event', 
        b.event as 'Second Event',
        ABS(CAST((a.timefield - b.timefield) as INT)) as 'Time Apart'
FROM MYtable a
INNER JOIN Mytable B
    ON a.IDField <> b.IDField
WHERE (ABS(CAST((a.timefield - b.timefield) as INT)) <= 5
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top