ホームページ >データベース >mysql チュートリアル >MySQL の複数の行にわたって一致する列値を見つけるにはどうすればよいですか?

MySQL の複数の行にわたって一致する列値を見つけるにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2025-01-22 21:07:11678ブラウズ

How to Find Matching Column Values Across Multiple Rows in MySQL?

MySQL 行内の一致する列の値を識別します

MySQL は、共通の列値に基づいて行を分離するなど、テーブルからデータを取得するための多彩なメカニズムを提供します。この記事では、特定の列に同じ値を持つ行を返す方法について説明します。

問題ステートメント:

次の表について考えてみましょう:

ID Score
1 95
2 100
3 88
4 100
5 73

タスクは、ID 2 と 4 に対応するスコア (この場合は 100) のみを取得することです。

解決策:

MySQL には、このタスクを実行するためのいくつかの方法が用意されています。最も適切な方法は、特定の要件によって異なります。

集計には HAVING 句を使用します:

この状況では、集計と HAVING 句を組み合わせることで、洗練された解決策が提供されます。

<code class="language-sql">SELECT score
FROM t
GROUP BY score
HAVING SUM(id = 2) > 0 AND  -- 包含id = 2
       SUM(id = 4) > 0     -- 包含id = 4</code>

このクエリは、スコアごとに行をグループ化し、各スコア内の ID 2 と ID 4 の出現数をカウントします。 HAVING 句により、ID 2 と ID 4 の両方に存在するスコアのみが返されるようになります。

以上がMySQL の複数の行にわたって一致する列値を見つけるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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