1. インタビュー中に問題が発生しました。それは、id と name の 2 つのフィールドを含むテーブルを作成し、繰り返しの名前を持つすべてのデータをクエリすることです。
SELECT * from xi a where (a.username) in (SELECT username from xi group by username having count(*) > 1)
2. すべてをクエリしてグループ化した後。まず、データ、クエリ データと重複データの繰り返し数を以下に示します。
SELECT count(username) as '重复次数',username from xi group by username having count(*)>1 order by username desc
3. 他の人の結果を表示するには、次の手順を実行します。 重複レコードをクエリして削除する完全な方法
1.テーブル内の重複レコードは単一フィールド (peopleId) に基づいて判断されます
SELECT * from people where peopleId in (select peopleId from people group by peopleId having count(peopleId) > 1)
2. テーブル内の重複レコードは単一フィールド (peopleId) に基づいて判断され、レコードのみが残ります。最小の rowid
DELETE from people where peopleId in (select peopleId from people group by peopleId having count(peopleId) > 1) and rowid not in (select min(rowid) from people group by peopleId having count(peopleId )>1)
さらに、MySQL で上記の SQL を使用すると、次のエラーが報告されます。 FROM 句で更新対象のテーブル 'XXX' を指定することはできません。 したがって、テーブルの変更中に同じテーブルをクエリすることはできません。上記のエラーを回避するために、テーブル データを変更するための条件として一時テーブルが使用されます。
DELETE from user where user_id in( (SELECT user_id from (SELECT c.* from cab_user c where c.extra_id in (SELECT a.extra_id from user a group by a.extra_id having count(a.extra_id) > 1) and c.user_id not in (SELECT min(b.user_id) from user b group by b.extra_id having count(b.extra_id )>1) ) d ) )
3. テーブル内の重複する重複レコード (複数のフィールド) を検索します
SELECT * from vitae a where (a.peopleId,a.seq) in (SELECT peopleId,seq from vitae group by peopleId,seq having count(*) > 1)
4. テーブル内の重複する重複レコード (複数のフィールド) を削除し、最小の ROWID を持つレコードのみを残します
delete from vitae a where (a.peopleId,a.seq) in (SELECT peopleId,seq from vitae group by peopleId,seq having count(*) > 1) and rowid not in (select min(rowid) from vitae group by peopleId,seq having count(*)>1)
5. table 最も小さい rowid を持つレコードを除く、冗長な重複レコード (複数のフィールド)
次に、テーブル内のレコード間で「name」値の重複する項目をチェックする必要があります。SELECT * from vitae a where (a.peopleId,a.seq) in (SELECT peopleId,seq from vitae group by peopleId,seq having count(*) > 1) and rowid not in (select min(rowid) from vitae group by peopleId,seq having count(*)>1)
性別も同じであることもチェックすると、結果は次のようになります:
SELECT Name,Count(*) From A Group By Name Having Count(*) > 1
(3)
方法 1 宣言 @max integer,@id integerdeclare cur_rows カーソルローカルを選択メインフィールド、count(*) を持つメインフィールドごとにグループ化 > 1open cur_rowsfetch cur_rows into @id,@maxwhile; @@fetch_status=0beginselect @ max = @max -1set rowcount @maxdelete from table name where main field = @idfetch cur_rows into @id,@maxendclose cur_rowsset rowcount 0
方法 2 「レコードの重複」には重複レコードの 2 つの意味があります。完全に重複したレコード、つまりすべてのフィールドが繰り返されるレコード、次に、名前フィールドなどの一部のキー フィールドが繰り返され、他のフィールドは繰り返されないか無視できるレコードです。
1. 最初のタイプの重複の場合は、select unique * from tableName を使用して、重複レコードのない結果セットを取得する方が簡単です。テーブルで重複レコードを削除する必要がある場合 (1 つの重複レコードを保持)、次のように削除できます。 select unique * into #Tmp from tableNamedrop table tableNameselect * into tableName from #Tmpdrop table #Tmp この重複の理由は、テーブルが設計が正しくありません。これは数週間で発生しますが、一意のインデックス列を追加することで解決できます。
SELECT Name,sex,Count(*) From A Group By Name,sex Having Count(*) > 1

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

WebStorm Mac版
便利なJavaScript開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

DVWA
Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

Dreamweaver Mac版
ビジュアル Web 開発ツール
