ホームページ >データベース >mysql チュートリアル >テーブル内のグループ化されたデータの一意の最大値を見つける方法

テーブル内のグループ化されたデータの一意の最大値を見つける方法

Linda Hamilton
Linda Hamiltonオリジナル
2025-01-16 13:14:02122ブラウズ

How to Find Unique Maximum Values for Grouped Data in a Table?

グループ化されたデータの最大値を求める

複数の列を持つテーブルの場合、一般的なタスクは、特定のグループ内の最大値を特定することです。示されている例では、異なる値を持つポンプ (Pump1 および Pump2) と追加の列 (AnotherColumn) に関連するデータがあります。目標は、各ポンプの最大値を取得することです。

1 つのアプローチには、サブクエリを使用して、名前列によってグループ化された最大値を選択することが含まれる場合があります。

<code class="language-sql">select name, max(value) as value
from out_pumptable
group by name</code>

ただし、質問で述べたように、特定のグループに複数の最大値がある場合、このアプローチは可能である可能性があります (この場合、ポンプ 1 には同じ最大値を持つ 2 つのエントリがあります)。重複エントリは次のようになります。戻ってきました。

この問題を解決するには、DISTINCT キーワードを使用して、個別の最大値のみが返されるようにすることができます。

<code class="language-sql">select name, max(value) as value
from out_pumptable
group by name
having max(value) not in (select value from out_pumptable group by value having count(*) > 1)</code>

この変更により、最大値がテーブル全体で一意であるかどうかがチェックされます (サブクエリを使用)。値が一意でない場合、その値は結果から除外されます。この方法は、各ポンプの最大値をより正確に表します。

以上がテーブル内のグループ化されたデータの一意の最大値を見つける方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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