ホームページ  >  記事  >  データベース  >  SQLでのdistinctの使い方を詳しく解説

SQLでのdistinctの使い方を詳しく解説

黄舟
黄舟オリジナル
2017-12-05 15:02:493216ブラウズ

distinct このキーワードは、冗長な重複レコードを除外して 1 つだけを保持するために使用されますが、多くの場合、一意のレコードのすべての値を返すために使用されるのではなく、一意のレコードの数を返すためにのみ使用されます。その理由は、distinct はターゲット フィールドのみを返すことができ、他のフィールドを返すことはできないためです。次に、この記事を通じて SQL での distinct の使用方法を共有します。mysql を使用する場合は、それを参照してください。

、特定のフィールドで一意のレコードを

クエリする必要がある場合がありますが、mysql は冗長な重複レコードを除外して 1 つだけを保持するための unique キーワードを提供しますが、多くの場合、それを使用するのではなく、一意のレコードの数を返すためにのみ使用されます。重複レコードを含まないすべての値を返します。その理由は、distinct はターゲット フィールドのみを返すことができ、他のフィールドを返すことができないためです。この問題は、distinct で解決できない場合は、二重 ループ クエリで解決するしかありません。大規模なウェブサイトの場合、これは間違いなく効率に直接影響するため、多くの時間を無駄にしました。 テーブルには重複する値が存在する可能性があります。これは問題ではありませんが、単に個別の値をリストしたい場合もあります。キーワード unique は、一意に異なる値を返すために使用されます。

テーブル A:

例 1

コードは次のとおりです:

select distinct name from A

実行後の結果は次のとおりです:

例 2

は次のとおりです:

select distinct name, id from A

実行後の結果は次のとおりです:

は実際には"name+id"

に基づいており、

nameとidの両方に対して個別に動作します。このメソッドはAccessとSQL Serverでサポートされています。同時に。 例 3: 統計

コードは次のとおりです:

select count(distinct name) from A;    --表中name去重后的数目, SQL Server支持,而Access不支持
select count(distinct name, id) from A; --SQL Server和Access都不支持

例 4

コードは次のとおりです:

select id, distinct name from A;   --会提示错误,因为distinct必须放在开头

Others

select ステートメントに表示されるフィールドは、 unique で指定されたフィールド、その他のフィールドを表示することはできません。たとえば、テーブル A に「備考」列がある場合、distinct 名と対応する「備考」フィールドを取得したい場合、distinct を使用して直接取得することはできません。


概要:

この記事では、例を使用して SQL での Different の使用法を詳しく紹介し、より直感的に Distinct の使用方法を説明します。あなたの仕事に役立つことを願っています!

関連する推奨事項:


mysql 個別の統計結果をカウントして重複を削除する

個別の問題によって引き起こされる思考

Oracle—distinct

の使用法

SQL Different の使用法 (4 つの例の分析)

以上がSQLでのdistinctの使い方を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。