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初心者が配列を処理するための実践的な方法のまとめ

推薦する

Linuxの一般的なコマンドでLinuxのmoreコマンドを使用する方法

more は、最もよく使用されるツールの 1 つです。最も一般的な使用方法は、出力コンテンツを表示し...

LinuxシステムでのSystemC環境設定方法

以下はcentos7での設定方法ですsystemc ソース パッケージをダウンロード: System...

Dockerコンテナでユーザーを分離する方法

前回の記事「Docker コンテナの UID と GID を理解する」では、Docker コンテナ内...

Win10にMySQL8圧縮パッケージ版をインストールするチュートリアル

1 公式サイトからMySQL8をダウンロードしてインストールするMySQL8 ダウンロードアドレスこ...

MySQL 入門 - SQL 実行プロセス

目次1. プロセス2. コアアーキテクチャ2.1 サーバー層の基本コンポーネントの紹介3. ステート...

MySQL kill コマンドの使用ガイド

KILL [接続 | クエリ] processlist_id MySQL では、各接続は個別のスレ...

MySQLの大規模テーブル最適化ソリューションについての簡単な説明

背景Alibaba Cloud RDS for MySQL(MySQL バージョン 5.7)データベ...

設定ファイルを書いてMyBatisを簡単に使う方法

設定ファイルを書いてMyBatisを簡単に使う方法マイバティス3.xここでは MyBatis につい...

Docker データ管理 (データ ボリュームとデータ ボリューム コンテナー) の詳細な説明

実稼働環境で Docker を使用する場合、多くの場合、データを複数のコンテナ間で永続化または共有す...

Nginx 設定ファイルの詳細な説明と最適化の提案ガイド

目次1. 概要2. nginx.conf 1) 設定ファイルの場所2) ワーカープロセス3) イベン...

シンプルな広告ウィンドウを実現するjs

この記事では、参考までに、シンプルな広告ウィンドウを実装するためのjsの具体的なコードを紹介します。...

bodyタグの主な属性の概要

bgcolor="テキストの色" background="背景画像&q...

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

MySQLキーワードDistinctの使い方の紹介DDL SQLを準備します: テーブルテストを作成...

Reactの状態の理解についての簡単な分析

複雑なコンポーネント (クラス コンポーネント) と単純なコンポーネント (関数コンポーネント) を...

Dockerコンテナイメージからコードを復元する手順

コードが失われ、コンテナ内で実行されているイメージから必要なコードを回復する必要がある場合があります...