ホームページ > 記事 > 毎日のプログラミング > mysqlにおけるgroup byとhaveの関係
GROUP BY は同じ値のデータをグループ化し、集計関数を実行します。HAVING はグループ化されたデータをフィルタリングします。GROUP BY グループ化後、HAVING はグループ化結果をフィルタリングします。後続のデータの集計に適用されます。
MySQL における GROUP BY と HAVING の関係
GROUP BY と HAVING は両方とも MySQL で集計に使用されますデータをフィルタリングするための句。この 2 つは連携して、グループ化されたデータを要約し、フィルター処理します。
GROUP BY
GROUP BY 句は、同じ値のデータをグループ化し、各グループに対して SUM、COUNT、AVG などの集計関数を実行します。データ セットをさまざまなグループに分割し、各グループには一意のキー値またはキー値のセットがあります。
HAVING
HAVING 句は、GROUP BY によってグループ化されたデータをフィルター処理するために使用されます。これは WHERE 句に似ていますが、集計されたデータにのみ適用されます。 HAVING 句を使用すると、ユーザーは集計結果に基づいてグループをフィルタリングできます。例:
関係
GROUP BY と HAVING の関係は次のとおりです。
例
次のクエリでは、GROUP BY と HAVING を使用して、orders テーブルをグループ化およびフィルタリングします:
<code class="sql">SELECT product_category, SUM(quantity) AS total_quantity FROM orders GROUP BY product_category HAVING SUM(quantity) > 100;</code>
このクエリは、注文を並べ替えます。製品カテゴリがグループ化され、各カテゴリの合計数量が計算されます。次に、HAVING を使用して、合計数が 100 未満のカテゴリを除外します。
以上がmysqlにおけるgroup byとhaveの関係の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。