Oracle では、count() 関数を使用して繰り返しフィールドをクエリできます。構文は、「select * from table name where field in (select field from table name group by field getting count (field) >」です。 1)」。
このチュートリアルの動作環境: Windows 10 システム、Oracle 11g バージョン、Dell G3 コンピューター。
1. テーブル内の重複する重複レコードを検索します。重複レコードは 1 つのフィールド (ユーザーコード) に基づいて判断されます (userCode)
select * from user where userCode in (select userCode from user group by userCode having count (userCode) > 1)
2。テーブルを削除します 不要な重複レコード、単一フィールド (userCode) に基づいて重複レコードが判断され、最小の ROWID を持つレコードのみが残ります
delete from user where userCode in (select userCode from user group by userCode having count (peopleId) > 1) and rowid not in (select min(rowid) from user group by userCode having count(userCode)>1)
3. ルックアップ テーブル内の不要な重複レコード (複数のフィールド)
select * from user a where (a.userCode,a.userName) in (select userCode,userName from user group by userCode,userName having count(*) > 1)
4. テーブル内の冗長な重複レコード (複数のフィールド) を削除し、最小の ROWID を持つレコードのみを残します。
delete from user a where (a.userCode,a.userName) in (select userCode,userName from user group by userCode,userName having count(*) > 1) and rowid not in (select min(rowid) from user group by userCode,userName having count(*)>1)
5. テーブル内の冗長な重複レコード (複数のフィールド) を見つけます。レコード
select * from user a where (a.userCode,a.userName) in (select userCode,userName from user group by userCode,userName having count(*) > 1) and rowid not in (select min(rowid) from user group by userCode,userName having count(*)>1)
推奨チュートリアル: "Oracle Tutorial"
以上がOracle で重複フィールドをクエリする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。