[LeetCode] 196.重複したメールを削除するSQL クエリを記述して、Person という名前のテーブル内の重複する電子メール エントリをすべて削除し、最小の ID に基づいて一意の電子メールのみを保持します。
たとえば、クエリを実行すると、上記の Person テーブルには次の行が含まれるようになります。
この質問では、重複したメールボックスを削除するように求められています。まず、重複していないメールボックスをすべて見つけ、次にその数の逆数を取って重複したメールボックスを取得し、すべて削除します。では、重複していないメールボックスをすべて見つけるにはどうすればよいでしょうか。メールボックスごとにグループ化し、次に Min キーワードを使用して小さいメールボックスを選択し、補集合を使用して削除します。 解決策1: IDが存在しないPersonから削除 (SELECT Id FROM (SELECT MIN(Id) Id FROM Person GROUP BY Email) p); 内部交差を使用して 2 つのテーブルを電子メール アドレスに関連付け、より大きな ID を持つ同じ電子メール アドレスを削除することもできます。以下のコードを参照してください。 解決策2: 人 p1 から p2 を削除し、人 p2 を結合します。 p2.Email = p1.Email の場合、p2.Id > p1.Id となります。 Join の代わりに where を使用して 2 つのテーブルを直接関連付けることもできます。 解決策3: 人 p1、人 p2 から p2 を削除 p1.Email = p2.Email かつ p2.Id > p1.Id の場合; 類似トピック: 重複メール 参考文献: https://leetcode.com/discuss/61176/simple-solution-using-a-self-join https://leetcode.com/discuss/48403/my-answer-delete-duplicate-emails-with-double-nested-query これで、LeetCode の SQL 実装 (196. 重複するメールボックスの削除) に関するこの記事は終了です。重複するメールボックスを削除する SQL 実装の詳細については、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
目次背景分析するデータシミュレーション1. 従業員テーブルと部門テーブルの2つのテーブルを作成します...
1. 背景Youzan の各 OLTP データベース インスタンスには、実行時間が特定のしきい値を超...
複雑なコンポーネント (クラス コンポーネント) と単純なコンポーネント (関数コンポーネント) を...
今日この問題に遭遇しました。サーバー側でiframeのsrc値を再割り当てし、iframeにIDを追...
概要前の章では、クエリのフィルター条件について学習しました。MySQL では、like % ワイルド...
背景SQL クエリを実行するときに、where 条件の vachar 型フィールドの単一引用符を削除...
目次文字列の長さ: 長さcharAt() charCodeAt()文字列に値が含まれているかどうかを...
この記事では、Java接続MySQLの基礎となるカプセル化コードを参考までに紹介します。具体的な内容...
1. 問題の再現:各日の合計数を日ごとにカウントします。データのない日がある場合、グループ化によっ...
目次Dockerイメージのダウンロードmysqlとnacosを起動する独自のJavaプロジェクトを変...
目次MyISAM と InnoDBパフォーマンスの低下と SQL の速度低下の理由: MySQL 実...
1. ポート2375を開くdocker.serviceを編集する vim /lib/systemd/...
写真をアップロードするので、まずはダウンロード可能な画像リソースかどうかを判断する必要があります。正...
この記事では、例を使用して、MySQL でストアド プロシージャを作成し、ループでレコードを追加する...
ビューポートとはモバイル ブラウザは、Web ページを仮想の「ウィンドウ」(ビューポート) に配置し...