ホームページ > データベース > mysql チュートリアル > WHERE 句で集計関数を正しく使用するにはどうすればよいですか?

WHERE 句で集計関数を正しく使用するにはどうすればよいですか?

Patricia Arquette
リリース: 2025-01-03 15:23:41
オリジナル
760 人が閲覧しました

How Can I Correctly Use Aggregate Functions in a WHERE Clause?

WHERE 句で集計関数を正しく使用する方法

このエラー「グループ関数の無効な使用」は、集計関数を使用した場合に発生します。 (この場合は AVG() など) が WHERE 句で誤って使用されています。集計関数は値のグループを要約するものであり、WHERE 句で直接使用することはできません。

この問題を解決するには、次の 2 つのオプションがあります。

WHERE 句:

select *
from staff
where salary > (select avg(salary) from staff)
ログイン後にコピー

この例では、サブクエリ (select avg(salary) from Staff) は平均給与を計算し、それを一時変数に割り当てます。次に、WHERE 句は各スタッフ メンバーの給与をこの平均値と比較します。

GROUP BY で HAVING 句を使用する:

select deptid, COUNT(*) as TotalCount
from staff
group by deptid
having COUNT(*) > 2
ログイン後にコピー

この例では、 HAVING 句は、deptid によるグループの条件を指定するために使用されます。ここの HAVING 句は、各部門内のスタッフ メンバーの数が 2 より大きいかどうかをチェックします。HAVING は、グループ化された行に対して計算を実行するために GROUP BY とともに使用されることに注意してください。

これらのメソッドのいずれかを使用すると、集計が確実に行われます。関数が適切に使用され、正しい結果が返されます。

以上がWHERE 句で集計関数を正しく使用するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート