То, что я пытаюсь сделать, это найти все записи, которые имеют один и тот же объект-объект, который произошел в течение секунды друг от друга, но имеют разные адреса client_ip.Найти все записи на основе двух условий: время и IP
Ниже приведены несколько примеров, которые я нашел вручную, но я хотел бы иметь возможность идентифицировать все записи в таблице для определенной даты.
SELECT sa.client_ip, sa.action_occured, sa.[object_id]
--INTO #TmpB
FROM dbo.system_audit AS [sa]
WHERE sa.action_id = 9111 AND sa.object_type_id = 9100
AND sa.[object_id] IN (50017197, 50050471, 50100927,50145858,50144558);
И результаты:
Выборочные данные могут помочь более чем снимок экрана:
client_ip action_occured object_id
fe80::7996:b7de:c335:699b%12 2016-12-19 15:54:17.300 50017197
fe80::e41f:6383:5d0d:7b3%3 2016-12-19 15:54:17.410 50017197
fe80::e41f:6383:5d0d:7b3%3 2016-12-19 14:54:45.383 50050471
fe80::2117:63d8:2b67:91ab%12 2016-12-19 14:54:46.303 50050471
fe80::7996:b7de:c335:699b%12 2016-12-19 15:40:42.467 50100927
fe80::e41f:6383:5d0d:7b3%3 2016-12-19 15:40:42.763 50100927
fe80::7996:b7de:c335:699b%12 2016-12-19 14:12:54.147 50144558
fe80::118c:f37b:336d:c1c0%12 2016-12-19 14:12:54.270 50144558
fe80::b0de:8ce7:be87:582d%12 2016-12-19 14:20:30.770 50145858
fe80::149b:f256:e64c:4d59%12 2016-12-19 14:20:31.380 50145858
, не зная конкретной object_id, есть способ, которым я мог бы сравнить записи, чтобы найти все object_id, которые произошли в течение секунды каждой записи, но имеют разные client_ip?
Спасибо,
Вы можете LAG/LEAD это. Закажите свой результирующий набор с помощью action_occurred, а затем попросите свой запрос посмотреть следующую строку, если датфик составляет менее 1000 мс. Попробует написать запрос, но нет примеров данных, предоставленных с простым способом его воспроизведения. – dfundako
Спасибо @dfundako - я проведу LAG/LEAD, но я также добавил некоторые образцы данных, если вы хотите их воспроизвести. – MISNole