ホームページ > データベース > mysql チュートリアル > mysqlで一意のデータを取得するにはどうすればよいですか?

mysqlで一意のデータを取得するにはどうすればよいですか?

青灯夜游
リリース: 2020-09-30 15:25:39
オリジナル
12149 人が閲覧しました

mysql では、クエリ ステートメントに unique キーワードを追加して重複レコードをフィルタリングし、一意のデータを取得できます。構文は「select unique field name from data table;」です。

mysqlで一意のデータを取得するにはどうすればよいですか?

一意のデータを取得するための Mysql メソッド:

重複レコードをフィルター処理するためにクエリ ステートメントに個別のキーワードを追加します

構文:

select distinct 字段名 from 数据表;
ログイン後にコピー

distinct の役割

mysql では、distinct キーワードの主な機能は、1 つ以上のデータベース テーブルを変更することです。複数のフィールドの重複データをフィルターし、1 つのデータのみをユーザーに返します。Distinct は選択でのみ使用できます。

distinct

distinct の原則が使用されます重複を削除します。主な原則は、最初に重複排除するデータをグループ化し、次にグループ化された各グループから 1 つのデータをクライアントに返すことです。このグループ化プロセス中に 2 つの異なる状況が発生する可能性があります:

  • distinct 依存フィールドにはすべてインデックスが含まれています:

    この場合、mysql はインデックスを操作して条件を満たすデータを直接グループ化し、グループ化された各データからデータを 1 つ削除します。

  • distinct 依存フィールドのすべてにインデックスが含まれているわけではありません:

    この場合、インデックスでは重複排除とグループ化のプロセス全体を満足させることができないため、一時テーブルを作成する必要があります。 MySQL では、まず、条件を満たすデータを一時テーブルに配置し、次に一時テーブル内のデータのこの部分をグループ化し、次に一時テーブル内のグループ化された各データからデータを 1 つ削除する必要があります。一時テーブルの場合、データは追加されません。データはソートされます。

distinct の使用法

distinct を使用するための構文は次のとおりです。

select distinct expression[,expression...] from tables [where conditions];
ログイン後にコピー

注意すべき主な点Different を使用する場合は次の点に注意してください。

  • フィールドの重複を排除するときは、distinct がすべてのフィールドの先頭にあることを確認してください。

  • unique キーワード 後で複数のフィールドがある場合、複数のフィールドは結合されて重複排除されます。複数のフィールドの結合された値が等しい場合にのみ重複排除されます

以下では使用しますこのキーワードの使用法について全員の理解を深めるために、開発プロセス中に頻繁に遭遇する、distinct に関するいくつかの例を示します。

データベースのテーブル構造とデータは次のとおりです。

mysqlで一意のデータを取得するにはどうすればよいですか?

単一フィールドの重複排除 SQL:

select distinct  age from user;
ログイン後にコピー

クエリ結果

age
10
20
30
ログイン後にコピー

複数フィールドの重複排除 SQL:

select distinct name,age from user;
ログイン後にコピー

クエリ結果

nameage
One10
Zero20
Two20
Four30
One30
ログイン後にコピー

複数のフィールドの重複を排除してカウントを見つけるための SQL:

select count(distinct name,age) as total from user;
ログイン後にコピー

クエリ結果

total
5
ログイン後にコピー

重複排除選択 *

select distinct * from user;
ログイン後にコピー

* はすべてのフィールドを表すため、この SQL は、ユーザーから個別の ID、名前、年齢、署名を選択するのと同じセマンティクスを持ちます。

クエリ結果:

id		name	age		sign
1		One		10		梦想要有的,万一实现了呢
2		Zero	20		http://www.chaoshizhushou.com
3		Two		20		OneZeroTwoFour
4		Four	30		加油
5		One		30		学习才是硬道理
6		Four	30		一日三省吾身
ログイン後にコピー

推奨チュートリアル: mysql ビデオ チュートリアル

以上がmysqlで一意のデータを取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート