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

推薦する

ウェブデザインにおける階層化インターフェースの設計経験

多くのネットユーザーは、なぜ自分のウェブサイトはいつも色の問題を抱えていて、いつも地味に見え、注目を...

VueとFlask間の通信の実装

axiosをインストールして通信を実装するここでは、axios を使用して Vue フロントエンドと...

docker ログ - docker コンテナ ログの実装を表示します

docker logs コマンドを使用してコンテナ ログを表示できます。コマンド形式: $ dock...

JavaScript クロージャの説明

目次1. クロージャとは何ですか? 1.2 クロージャのメモ化: 関数は定義された環境を記憶する1....

Mybatis マッパー動的プロキシの原理の分析

序文動的プロキシの原理を説明する前に、まず、mybatis を統合した後の dao 層の 2 つの実...

MySQL データベースの制約とデータ テーブルの設計原則

目次1. データベースの制約1.1 はじめに1.2 制約の種類1.3 ヌルでない1.4 ユニーク1....

MySQL Binlog ログ処理ツールの比較分析

目次運河マクスウェルデータバスAlibaba Cloud のデータ転送サービス (DTS)運河ポジシ...

Windows 7 の mysql6.x で中国語の文字化けが発生する問題に対する完璧な解決策

1. コマンドラインでMySQLサービスを停止します: net stop mysql stop my...

MySQL 8.0.12 のインストールと使用方法のチュートリアル

MySQL 8.0.12のインストールと使用のチュートリアルを録画しました。ウィンドウズまず、公式ウ...

アバターと国旗の統合を実現する1行のCSSコード

今日は建国記念日で、誰もが祖国の誕生日をお祝いしようとしています。毎年この時期になると、WeChat...

HTML で相対パスを使用してディレクトリのすべてのレベルのファイルを取得する方法の詳細な説明

相対パスの概念現在のファイルの場所を参照ポイントとして使用して、ターゲット ファイルへのパスを確立し...

MySQLデータベースのトランザクションとインデックスの詳細な説明

目次1. 事務:取引の 4 つの主な特徴:同時トランザクションはどのような問題を引き起こしますか? ...

MySQL マルチテーブル結合クエリ例の説明

実際のプロジェクトでは、複数のテーブル間に関係が存在します。 1 つのテーブル内のすべてのデータを取...

LINUX でポートが占有されているかどうかを確認する方法

ポートが占有されているかどうかは、これまで一度もわかりませんでした。多くの人に尋ねて、ようやくわかり...

Uniapp は DingTalk スキャンコード ログイン サンプル コードを実装します

UniappにはDingTalk認証ログインがないため、この記事ではDingTalk QRコードログ...