Как я могу запустить запросы, такие как «в течение пяти дней» по данным временных рядов?

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

Вопрос

Я хотел бы иметь простой способ запустить запросы, такие как следующий запрос на данные о моих временных рядах:

«Какие самые типичные события должны происходить в течение семи дней после друг друга»?

Я мог бы сделать это, используя SQL и программу Java, просмотрев каждый ряд и запустив запрос, который просмотрите все события семь дней назад или позже, но это не очень элегантно, и производительность будет ужасной. Есть ли другой способ сделать это элегантно, используя SQL или другой язык запросов?

Упрощенная структура таблицы подобна следующему:

thetime datetime
eventid int
magnitude double
intensity double

Я специально не хочу описывать, о чем представлены данные, так как я ищу общее решение.

Это было полезно?

Решение

Вы можете использовать себя, чтобы сделать что -то подобное. Это действительный синтаксис для SQL Server, но его трудно настроить для вашей настройки, когда мы не знаем структуру таблицы или какие RDBMS вы используете ...

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
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top