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 の使用方法を説明します。あなたの仕事に役立つことを願っています!
以上がSQLでのdistinctの使い方を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。