ホームページ > データベース > mysql チュートリアル > すべての列を選択する場合、MySQL で DISTINCT はどのように機能しますか?

すべての列を選択する場合、MySQL で DISTINCT はどのように機能しますか?

Patricia Arquette
リリース: 2024-11-03 13:27:02
オリジナル
780 人が閲覧しました

How does DISTINCT function in MySQL when selecting all columns?

MySQL の DISTINCT の微妙さ

MySQL の DISTINCT キーワードを使用して一意の行を取得する際、ユーザーがすべてのフィールドを選択しようとすると制限に遭遇する可能性があります。この動作を理解するために、DISTINCT の仕組みを詳しく見てみましょう。

DISTINCT は、指定された列の一意性に基づいて重複行を削除します。ただし、特定の列のみに選択的に適用することはできません。代わりに、クエリ全体を変更し、select-list 内のすべての列が一意であることを確認します。

たとえば、次のクエリは、ticket_id 列の個別の値を正常に取得します。 、重複する行は除きます。ただし、クエリ:

<code class="mysql">SELECT DISTINCT ticket_id FROM temp_tickets ORDER BY ticket_id</code>
ログイン後にコピー

は、DISTINCT が SELECT の直後に続く必要があり、列名の後に配置できないため、エラーになります。

<code class="mysql">SELECT * , DISTINCT ticket_id FROM temp_tickets ORDER BY ticket_id</code>
ログイン後にコピー
を確保しながらすべてのフィールドを選択するという望ましい結果を達成するには重複行が削除される場合、正しい構文は次のとおりです。

このクエリは、テーブル内のすべての列に基づいて個別の行を返し、効果的に重複を削除します。

<code class="mysql">SELECT DISTINCT * FROM temp_tickets ORDER BY ticket_id</code>
ログイン後にコピー
この微妙な違いを理解するDISTINCT の使用は、エラーを回避し、MySQL テーブルからデータを正しく取得するために非常に重要です。

以上がすべての列を選択する場合、MySQL で DISTINCT はどのように機能しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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