私は何をしようとしているのは、互いに1秒以内に発生した同じobject_idを持つが、異なるclient_ipアドレスを持つすべてのレコードを見つけることです。2つの条件に基づいてすべてのレコードを検索する:時間と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を知らなくても、私は比較できな方法があります各レコードの1秒以内に発生したが、別のclient_ipを持つすべてのobject_idを見つけるためのレコード?
おかげで、
あなたは、このいずれかをリード/ラグがあります。 action_occurredを使用して結果セットを注文し、datediffが1000ms未満の場合は、次の行を照会します。クエリを書き出しようとしますが、簡単な方法でサンプルデータを再現することはできません。 – dfundako
ありがとう@dfundako - 私はLAG/LEADをチェックしますが、それを再現したい場合はサンプルデータも追加しました。 – MISNole