ホームページ >データベース >mysql チュートリアル >データベーステーブル内の各グループの最大値を見つけるにはどうすればよいですか?
関係関数を使用して各グループの最大値を見つけます
データベースでは、有意義な洞察を抽出するためにデータをグループ化して集約するのが一般的です。このような集計関数の 1 つは、各データ グループの最大値を選択することです。
ポンプ名 ("name")、値 ("value")、および別の列 ("AnotherColumn") によって編成されたポンプ使用情報を含む、「out_pumptable」という名前の仮想テーブルについて考えてみましょう。サンプルデータは次のようになります:
<code>Name Value AnotherColumn ----------- Pump 1 8000.0 Something1 Pump 1 10000.0 Something2 Pump 1 10000.0 Something3 Pump 2 3043 Something4 Pump 2 4594 Something5 Pump 2 6165 Something6</code>
グループ化と最大集約
各ポンプの最大値を選択するには、SQL で GROUP BY 関数と MAX() 関数を使用します。次のクエリでこのタスクを実行できます:
<code>SELECT name, MAX(value) FROM out_pumptable GROUP BY name</code>
クエリの理解
重複エントリの問題を解決します
指定されたコード例では、同じ最大値を持つポンプの重複エントリが存在する可能性があります。これは、クエリが各行を最大値と照合し、結果としてエントリが冗長になるためです。
この問題を解決するには、クエリを変更して「名前」と「値」のさまざまな組み合わせを選択します。
<code>SELECT DISTINCT name, MAX(value) FROM out_pumptable GROUP BY name</code>
この変更により、同じ最大値を持つ複数の行がある場合でも、各ポンプが 1 回だけ表示されるようになります。
以上がデータベーステーブル内の各グループの最大値を見つけるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。