MySQL大表中重复字段的查询效率方法_MySQL
bitsCN.com
MySQL大表重复字段应该如何查询到呢?这是很多人都遇到的问题,下面就教您一个MySQL大表重复字段的查询方法,供您参考。
数据库中有个大表,需要查找其中的名字有重复的记录id,以便比较。
如果仅仅是查找数据库中name不重复的字段,很容易
<ol class="dp-sql"> <li class="alt">SELECT min(`id`),`name` </li> <li>FROM `table` </li> <li class="alt">GROUP BY `name`; </li> </ol>
但是这样并不能得到说有重复字段的id值。(只得到了最小的一个id值)
查询哪些字段是重复的也容易
<ol class="dp-xml"> <li class="alt">SELECT `name`,count(`name`) as count </li> <li>FROM `table` </li> <li class="alt">GROUP BY `name` HAVING count(`name`) >1 </li> <li>ORDER BY count DESC; </li> </ol>
但是要一次查询到重复字段的id值,就必须使用子查询了,于是使用下面的语句来实现MySQL大表重复字段查询。
<ol class="dp-xml"> <li class="alt">SELECT `id`,`name` </li> <li>FROM `table` </li> <li class="alt">WHERE `name` in ( </li> <li> SELECT `name` </li> <li class="alt"> FROM `table` </li> <li> GROUP BY `name` HAVING count(`name`) >1 </li> <li class="alt">); </li> </ol>
但是这条语句在mysql中效率太差,感觉mysql并没有为子查询生成临时表。
于是使用先建立临时表
<ol class="dp-xml"> <li class="alt">create table `tmptable` as ( </li> <li> SELECT `name` </li> <li class="alt"> FROM `table` </li> <li> GROUP BY `name` HAVING count(`name`) >1 </li> <li class="alt">); </li> </ol>
然后使用多表连接查询
<ol class="dp-xml"> <li class="alt">SELECT a.`id`, a.`name` </li> <li>FROM `table` a, `tmptable` t </li> <li class="alt">WHERE a.`name` = t.`name`; </li> </ol>
结果这次结果很快就出来了。
用 distinct去重复
<ol class="dp-xml"> <li class="alt">SELECT distinct a.`id`, a.`name` </li> <li>FROM `table` a, `tmptable` t </li> <li class="alt">WHERE a.`name` = t.`name`; </li> </ol>
bitsCN.com

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

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

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック









ハルビン医科大学の臨床薬学の就職の見通しはどのようなものですか? 全国の雇用情勢は楽観的ではありませんが、薬学部卒業生の就職の見通しは依然として良好です。全体として、薬学部卒業生の供給は需要を下回っており、製薬会社や製薬工場がその卒業生を吸収する主なチャネルとなっており、製薬業界における人材需要も着実に伸びています。報道によると、近年、医薬品製剤や生薬化学などの専攻の大学院生の需給比は1:10に達するケースもあるという。臨床薬学専攻の就職方向:臨床医学専攻の学生は卒業後、医療保健ユニット、医学研究部門等で治療、予防、医学研究等に従事することができます。雇用職種:医薬情報担当者、医薬品営業担当者、営業担当者、営業マネージャー、地域営業マネージャー、投資マネージャー、プロダクトマネージャー、プロダクトスペシャリスト、看護師

タイトル: MySQL でテーブル データを表示するためのステートメントと具体的なコード例 MySQL は、あらゆる規模のアプリケーションで広く使用されているオープン ソースのリレーショナル データベース管理システムです。 MySQL では、テーブルデータの表示は非常に基本的な操作ですが、具体的なステートメントとコード例を通して、この操作の実装方法を紹介します。まず、MySQL コマンド ライン ツールを使用してテーブル データを表示するためのステートメントと具体的なコード例を紹介します。 「employees」という名前のテーブルがあるとします。パスは次のとおりです。

最近、何人かの友人が win10 イメージ ファイルをダウンロードする方法を報告しました。市場には非常に多くのイメージ ファイルがあるため、ダウンロードする通常のファイルを見つけたい場合はどうすればよいですか?本日、編集者が画像をダウンロードするためのリンクと詳細な解決手順を提供しましたので、一緒に見てみましょう。 win10 イメージのクイック ダウンロードとインストール チュートリアル ダウンロード リンク >>> システム ホーム Ghostwin101909 イメージ 64 ビット バージョン v2019.11<<<>>>Win10 イメージ 64 ビット v2019.07<<<>>>Win10 イメージ 32 ビット v2019。 07<< <1. インターネットで検索する

一時フォルダーをクリーンアップする方法 コンピューターを使用していると、一時ファイル (一時ファイル) が徐々に蓄積されていきます。これらの一時ファイルは、Web 閲覧時のキャッシュ ファイル、ソフトウェアのインストール時の一時ファイルなど、コンピューターを使用するときに生成されます。一時フォルダーを長期間クリーンアップしないと、大量のディスク領域が占有され、コンピューターの速度に影響が出る可能性があります。したがって、一時フォルダーを定期的にクリーニングすることは、コンピューターのパフォーマンスを維持するために必要な手順です。以下に、一時フォルダーをクリーンアップする簡単な方法をいくつか紹介します。方法 1: 手動でクリーニングします。

MySQL は、テーブルの名前変更操作をサポートする、一般的に使用されるリレーショナル データベース管理システムです。通常、テーブルの名前変更には一定のリスクが伴うため、この操作を実行するときは十分に注意する必要があります。この記事では、MySQL で rename table ステートメントを実装する方法を検討し、詳細なコード例を示します。 MySQL では、ALTERTABLE ステートメントを使用してテーブルの名前を変更できます。 ALTERTABLE rename ステートメントの基本構文は次のとおりです。 ALTERTABLEo

Win10システムをリセットするにはどうすればよいですか?最近、多くの友人が Win10 システムを搭載したコンピュータを使用することを好みますが、コンピュータを使用していると必ず解決できない問題が発生します。このとき、システムをリセットすることができます。エディターに従って、Win10 システムのリセットに関するチュートリアルを見てみましょう。必要なユーザーは見逃さないでください。 Win10 システムのリセットに関するチュートリアル 1. [Windows] をクリックし、[設定] を選択します。 2. 「更新とセキュリティ」をクリックします。 3. 「復元」を選択します。 4. 右側の「開始」をクリックして、このコンピュータをリセットします。上記は、[Win10 システムをリセットする方法 - Win10 システムをリセットするチュートリアル] の全内容ですが、このサイトにはさらに興味深いチュートリアルが用意されています。

win11コンピュータの構成を確認するにはどうすればよいですか? win11 システムは非常に実用的なコンピュータ オペレーティング システムのバージョンです。このバージョンではユーザーに豊富な機能が提供され、ユーザーはより良いコンピュータ操作体験を得ることができます。コンピュータを使用する多くの友人が自分のコンピュータに興味を持っています。具体的な構成、この操作の実行方法win11システムでは?詳細な操作方法を知らない友人も多いと思いますが、Win11 コンピュータの構成を表示する方法についてはエディターが以下にまとめていますので、興味がある方はエディターをフォローして読み進めてください。 Win11 コンピューター構成ビューのチュートリアル 1. 下のタスクバーの Windows アイコンをクリックするか、キーボードの「Windows キー」を押して、スタート メニューを開きます。 2. スタートメニューで「設定」または「sett」を見つけます。

システム再インストール時に環境テストに失敗し、書き換えが必要になる場合の解決方法:携帯電話が汚染されているため、ウイルス対策として Mobile Manager などのウイルス対策ソフトをインストールしてください 2. ジャンクが多いファイルは携帯電話内に保存されるため、携帯電話の実行メモリが占有されます。この問題を解決するには、電話機のキャッシュをクリアするだけです。3. 保存されたソフトウェアやファイルによって電話機のメモリが占有されすぎています。不要なファイルやソフトウェアを頻繁に削除しても問題ありません。ハードウェア構成がインストール要件を満たしている限り、次のことが可能です。新しいものを直接使用してください。システム ディスクからシステムを再インストールしてください。 USB フラッシュ ドライブまたはハードディスクを使用してインストールでき、非常に高速です。ただし、重要なのは、互換性の良いシステム ディスク (IDE、ACHI、および RAID モードでのインストールをサポート) を使用することであり、自動的かつ永続的にアクティブ化できることが検証されています。それで
