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

高洛峰
リリース: 2016-12-13 09:31:29
オリジナル
2193 人が閲覧しました

mysql を使用する場合、特定のフィールドで一意のレコードをクエリする必要がある場合があります。mysql には重複する重複レコードを除外して 1 つだけを保持するための unique キーワードが用意されていますが、多くの場合、これは一意のレコードの数を返すためにのみ使用されます。それを使用して重複レコードなしですべての値を返す方法。その理由は、distinct はターゲット フィールドのみを返すことができ、他のフィールドを返すことができないためです。この問題は、distinct で解決できない場合は、二重ループ クエリで解決するしかありません。これは非常に困難です。ウェブサイトの場合、間違いなく効率に直接影響するため、多くの時間を無駄にしました。

テーブルには重複する値が存在する可能性があります。これは問題ではありませんが、単に個別の値をリストしたい場合もあります。キーワード unique は、一意に異なる値を返すために使用されます。

表 A:

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

例 1

select distinct name from A
ログイン後にコピー

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

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

例 2

select distinct name, id from A
ログイン後にコピー

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

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

実際には、それ"name+id" に基づいています。重複を削除するには、distinct が名前と 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必须放在开头
ログイン後にコピー

その他

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


関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のおすすめ
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!