行を削除せずにレポートしたいテーブルに次のデータがあります。
ActiveSearchID---SearchDate---------------------SearchPhrase
1---------------------2010 -12-15 12:01:11.587---アルゴス
2---------------------2010-12-15 12:03:40.193---無印良品
3 ---------------------2010-12-15 12:03:42.370---無印良品
4-------------- -------2010-12-15 12:04:29.167---事務用品
5---------------------2010-12-15 12 :05:11.590---溶岩
9----------------------2010-12-15 12:08:38.920---ソニー ヴァイオ
10---- ---------------2010-12-15 12:08:41.170---ソニーバイオ
12------------------- 2010-12-15 12:09:09.920 --- ソニー ヴァイオ バッテリー
13-------------------2010-12-15 12:09:17.487 --- ソニーバイオバッテリー
14-------------------2010-12-15 12:17:10.980---ソニーバイオバッテリー
15----------- --------2010-12-15 12:17:12.170---アルゴス
私が取得しようとしているレポートは、5 分以内に検索された検索フレーズの最初のインスタンスを選択することです。たとえば、上記の情報を照会しないと、次のようになります。
SearchDate----------------SearchPhrase
2010-12-15 12:01:11.587---argos
2010-12 -15 12:03:40.193---無印良品
2010-12-15 12:04:29.167---事務用品
2010-12-15 12:05:11.590---溶岩
2010-12-15 12:08:38.920 ---sony vaio
2010-12-15 12:09:09.920---sony vaio バッテリー
2010-12-15 12:17:12.170---アルゴス
次のクエリを試しましたが、まだ重複しています:
t1.searchdate、t1.searchphrase を activesearches から選択 t1 内部結合 activesearches t2 on t1.searchphrase = t2.searchphrase および t1.searchdate < t2.searchdate where datediff(s, t1.searchdate, t2.searchdate) <= 300 order by searchdate
「WITH SearchPhrases AS ()」タイプのクエリを使用したいのですが、理解できません。
ありがとう