私は自分のアプリケーションで潜在的なバグを見つけようとしています.2つの列の重複データであるuser
とvalue
で示される重複したイベントがユーザーに記録されているかどうかを確認したいのですが、列はわずかに異なるメタデータを持つことができます。単一のSQLクエリでそのような重複を識別する方法はありますか?隣接する重複行を検出するSQL(列のサブセットに値で示される重複)?
0
A
答えて
1
Windowここで関数を使用できます。特にlag
またはlead
は、前回または次回の出現を希望する場合には省略されます。
このクエリは、lag
を使用していますが、安全にlead
によって変更することができます。
WITH event_with_lag_data AS (
SELECT user, value, value_ts,
lag(user) over (order by value_ts) as prev_user,
lag(value) over (order by value_ts) as prev_value
FROM event_data
)
SELECT user, value, value_ts
FROM event_with_lag_data
WHERE user = prev_user AND value = prev_value
value_ts
は順序付け列です。イベントは日付/時刻順に並べられていると仮定します。
あなたが平等のためにテストするために複数の列を持っている場合は、ちょうどそれがにISNから2列に基づいてすべての重複を見つけるために探している場合はlag
部分に、最終的なwhere
一部
0
に多くの行を追加するだけです
がWITH duplicates AS (
select
user,
value,
COUNT(*) AS COUNT
FROM event_data
GROUP BY
user,
value
)
SELECT
user,
value
FROM duplicates
WHERE COUNT > 1
の
関連する問題
- 1. Mysqlの重複行(2列で重複が検出されました)
- 2. 隣接する行を含む列の重複を削除して上記に重複を追加します
- 3. sql/coldfusion重複行を表示する
- 4. すべての列で重複値を表示するSQLクエリ
- 5. SQL SELECT重複する列
- 6. ジュリアの加重隣接行列のグラフ表示をプロットする
- 7. 階層SQLで重複/重複行を検索
- 8. IE9隣接画像がポップアップ画像に重複/表示される
- 9. 重複する文字列の複雑さを検索する
- 10. セットで重複を検出する
- 11. 重複を検索するSQLクエリ
- 12. テキストファイルの重複を検出する
- 13. SQLフル行重複と部分重複
- 14. 列内の重複を識別し、隣接する列の値の最大値をExcelで確認します
- 15. 重複する値のテーブルのレコードを表示するSQLクエリ
- 16. Sqlの重複カウント重複
- 17. 重複期間を検出するphp
- 18. ビデオ重複検出
- 19. 重複する日付の検索と重複レコードの検索
- 20. 隣接するペアの重複の削除
- 21. 日付/時刻レコードの重複を検出し、SQLを使用して重複しているレコードを表示
- 22. 重複するテキスト検出/ハッシュ
- 23. SQL Serverの検索重複
- 24. whileループで重複する配列値
- 25. 重複する行を検索して表示する
- 26. ドロップダウンで重複する値
- 27. Groovy:重複した値が複数回表示される
- 28. 重複する列の値を持つ行を取得する
- 29. Xcode UIテストで重複したテーブル行を検出する
- 30. SQLクエリエラー1060重複する列エラー「ノーム」
可能な重複[Selectステートメントは、特定のフィールドの重複を見つけるために](http://stackoverflow.com/questions/4434118/select-:「tはあなたが 『隣接』によって何を意味するかクリアし、ここでのソリューションです。特定のフィールドに重複するステートメント) – Adam
隣接していますか?次に、LAGまたはLEADを使用して、前または次のレコードを表示できます。または、EXISTS節を使用して、同じユーザーまたは値で同じ分単位で別のレコードが存在するレコードを検索します。 –