合計がしきい値より大きい場合に MySQL HAVING 句を使用する方法

He Jigashikii Zhiyori Dakii Chang Heni Mysql Having Juwo Shi Yongsuru Fang Fa



MySQL データベースを使用する場合、値をフィルタリングしたい場合がよくあります。 WHERE 句を使用できますが、すべてのインスタンスで常に機能するとは限りません。 HAVING 句は、集計関数を使用してフィルター クエリを実行し、グループ化を適用する場合に使用します。

HAVING 句は、フィルタ内の GROUP BY 句に依存し、指定された条件に基づいてクエリを実行します。条件に基づいてフィルターを制限し、条件を満たす場合に選択されたグループのみを返します。合計がしきい値を超える MySQL HAVING 句の使用例があります。そうすれば、今日の投稿の最後で使い方をマスターできるようになります。







合計がしきい値より大きい場合に MySQL HAVING 句を使用する方法

MySQL の HAVING 句を GROUP BY 句とともに適用します。その構文は次のとおりです。



SELECT 式 1, .. 式_n, 集計機能 (式) FROM テーブル名 GROUP BY 式 HAVING <条件>;

SUM()、COUNT()、MIN()、MAX()、AVG() などのさまざまな集計関数を使用できます。集計関数で使用されない式はすべて、GROUP BY 句で指定する必要があることに注意してください。



条件については、条件で確認したい閾値を指定した集計結果に適用されます。たとえば、SUM() 関数を適用して、式がしきい値 10 を満たすかどうかを確認できます。これについては、提供された例でさらに詳しく説明します。





HAVING 句がどのように機能するかを理解するために、使用するサンプル データベースを作成してみましょう。データベースに「register」という名前を付けます。



また、さまざまな列とデータ型を含む「workers」という名前のテーブルも作成しましょう。ここでは、名前、時間、勤務日などの従業員のデータを操作します。

テーブルの説明を確認すると、すべての列が正常に作成されたことが確認できます。

値をテーブルに挿入します。当社にはさまざまな労働者がおり、さまざまな時間や曜日で働いています。このデータを使用すると、合計がしきい値を超える場合に HAVING 句を適用できます。

最初の例として、最も多くの時間働いた労働者を見つけたい場合を考えてみましょう。 HAVING 句には、時間の合計集計関数を含めます。 GROUP BY 句では、合計時間がしきい値を超える従業員を分類しやすくするために、名前行を使用して行をグループ化します。

合計時間のしきい値を 7 に設定した場合、次のようにコマンドを実行します。

SELECT name, SUM(hours) AS total_hours_per_person FROM Workers GROUP BY name HAVING sum(hours) > 7;

コマンドを実行すると、HAVING 句で指定されたしきい値を超えたワーカーは 2 つだけなので、2 行を含む出力が得られます。

部門を分類して、しきい値の 7 時間を超える労働者がいる部門を確認するとします。部門を選択し、時間を使用して SUM 集計関数を使用し、部門式を使用して行をグループ化します。

私たちのコマンドは次のとおりです。

SELECT 部門、SUM(時間) AS 部門ごとの合計時間数 FROM 従業員 GROUP BY 部門 HAVING sum(hours) > 7;

結果から、時間の合計がしきい値を超える行のみを残すように行をフィルタリングできたことを確認できます。

同様に、しきい値 10 時間を超えるように、稼働労働者の数が最も多い勤務日をフィルタリングする場合は、勤務日の式を選択します。次に、時間を指定して SUM 関数を使用し、勤務日を使用して行をグループ化します。

コマンドは次のとおりです。

SELECT 勤務日、SUM(時間) AS 最高勤務時間 FROM 労働者 GROUP BY 勤務日 HAVING sum(hours) > 10;

コマンドを実行した後の結果は、合計時間がしきい値を超えている勤務日が 1 つだけであることを示しています。

結論

MySQL の HAVING 句は、集計関数を使用してフィルタ クエリを実行する場合に使用します。 GROUP BY 句と組み合わせて、より具体的なクエリを実行します。この投稿では、合計がしきい値を超える MySQL HAVING 句について詳しく説明しました。提供された例を使用して、MySQL HAVING 句の操作方法を理解できました。