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 サイトの他の関連記事を参照してください。