MySQLキーワードDistinctの詳細な紹介

MySQLキーワードDistinctの詳細な紹介

MySQLキーワードDistinctの使い方の紹介

DDL

SQLを準備します:

テーブルテストを作成(id bigint not null 主キー auto_increment,
   名前varchar(10)がnullでない、
   電話番号varchar(10)がnullでない、
   電子メールvarchar(30) nullでない)エンジン=innodb;

データを準備する:

 テストに挿入(名前、電話番号、メールアドレス)値('alibaba'、'0517'、'[email protected]')。
  テストに挿入(名前、電話番号、メールアドレス)値('alibaba'、'0517'、'[email protected]')。
  テストに(名前、電話番号、メールアドレス)値('baidu'、'010'、'[email protected]')を挿入します。
  テストに挿入(名前、電話番号、メールアドレス)値('tencent'、'0755'、'[email protected]')。
  テストに挿入(名前、電話番号、メールアドレス)値('vipshop'、'020'、'[email protected]')。
  テストに挿入(名前、電話番号、メールアドレス)値('ctrip'、'021'、'[email protected]')。
  テストに挿入(名前、電話番号、メールアドレス)値('suning'、'025'、'[email protected]')。

クエリ データを次の図に示します。

「お金」という言葉の意味は何ですか? title=

最初のケースでは、次の図に示すように、Distinct キーワードを使用して単一列のデータをクエリします。

「a」という単語の意味は何ですか? title=

結果: 名前フィールドは重複排除され、期待どおりになりました。重複するフィールド値 alibaba は確かに除外されています。

2 番目のケースでは、次の図に示すように、Distinct キーワード (先頭) を使用して複数のデータ列をクエリします。

「独立」という言葉の意味は何ですか? title=

結果: 名前フィールドは重複排除されていますが、結果は期待どおりではありません。重複フィールド値 alibaba は除外されません。

2 番目のケースでは、次の図に示すように、Distinct キーワード (後) を使用して複数のデータ列をクエリします。

「見えない」という言葉の意味は何ですか? title=

結果: 名前フィールドは重複排除されましたが、結果は期待どおりではありません。エラー コード 1064 で SQL 例外がスローされます。

解決:

サブクエリを使用せず、グループ化を使用して解決します。

瑙e喅鏂瑰紡

要約: SQL クエリを 1 つのステートメントで解決できる場合は、SQL、特にサブクエリの複雑さを増やさないようにしてください。 ! !

上記は、MySQL キーワード Distinct の使用法についての説明です。ご質問がある場合は、メッセージを残すか、このサイトで議論してください。お読みいただきありがとうございます。皆様のお役に立てれば幸いです。このサイトを応援していただき、ありがとうございます。

以下もご興味があるかもしれません:
  • Explainキーワードに基づいてMySQLインデックス機能を最適化する方法
  • mysql 実行プラン ID が空である (UNION キーワード) の詳細な説明
  • jq.ajax+php+mysql でキーワードあいまいクエリを実装する (例の説明)
  • OR キーワードを使用した MySql 複数条件クエリ ステートメント
  • mySQLキーワードの実行優先度の説明

<<:  Linux ncコマンドの概要

>>:  JS初心者が配列を処理するための実践的な方法のまとめ

推薦する

HTTPSの最も優れた説明

皆さんおはようございます。しばらく記事を更新していませんでした。実は、私は流行中に1か月以上家にいて...

MySql インデックスはクエリ速度を向上させる一般的な方法のコード例

インデックスを使用してクエリを高速化する1. はじめにWeb 開発には、ビジネス テンプレート、ビジ...

6つの珍しいHTMLタグ

まず: <abbr> または <acronym>これら 2 つの記号は同じ意...

MYSQL の 10 の典型的な最適化ケースとシナリオ

目次1. SQL最適化の一般的な手順1. SQL実行計画の分析を説明する2. プロフィール分析を表示...

MySQLのFreeListメカニズムの詳細な説明

1. はじめにMySQL が起動すると、BufferPool が初期化されます。クエリ操作を実行する...

Linuxダイナミックリンクライブラリの使用

通常のプログラムと比較すると、ダイナミック リンク ライブラリにはメイン関数がなく、一連の関数の実装...

Vueはシンプルな画像切り替え効果を実装します

この記事では、Vueの具体的なコード例を参考までに紹介します。具体的な内容は以下のとおりです。 コー...

プロジェクトにおける CSS グリッドシステムの柔軟な使用方法の詳細な説明

序文CSS グリッドは通常、さまざまなフレームワークにバンドルされていますが、実際のビジネス ニーズ...

バッテリー残量が少なくなったときに Linux を自動シャットダウンする方法

序文最近、私の住居の電力事情が不安定で、突然の停電が頻繁に起こります。ノートパソコンを持っているので...

HTML CSS の 3 つの一般的なスタイル セレクター

1: タグセレクタータグセレクターはすべてのタグに使用されます。ここでは p を例に挙げます。つまり...

auto.jsを使用して毎日の自動チェックイン機能を実現する

auto.js を使用して毎日のチェックインを自動化する感染症のせいで、毎日時間通りに家に帰らなけれ...

JavaScript におけるブラウザ互換性の問題について簡単に説明します

ブラウザの互換性は、実際の開発では見落とされがちな最も重要な部分です。古いバージョンのブラウザの互換...

MySQL無料インストール版を解凍した後にパスワードが見つからない問題を解決する方法

1. mysql-8.0.21-winx64を解凍する2. 環境変数を設定し、アドレスをbinフォル...

ショートカットアイコンとアイコンコードの違いの紹介

ステートメント 1: <link rel="shortcut icon" ...

カレンダー効果を実現するJavaScript

この記事では、カレンダー効果を実現するためのJavaScriptの具体的なコードを参考までに紹介しま...