MySQL が GROUP BY 句なしで集計関数を使用できるのはなぜですか?

Susan Sarandon
リリース: 2024-11-07 12:52:03
オリジナル
818 人が閲覧しました

Why Can MySQL Use Aggregate Functions Without a GROUP BY Clause?

MySQL 集計関数: なぜ GROUP BY 句が必要ないのですか?

MySQL では、集計関数は、付随する関数なしで SELECT リストで使用できます。 SQL Server などの他の RDBMS 製品とは異なり、GROUP BY 句を使用します。この動作は意図的なもので、標準に独自の拡張機能を提供します。

たとえば、クエリ「SELECT col1,col2,sum(col3) FROM tbl1;」正常に実行され、col1 とcol2 の最初の行の値とすべてのcol3 の値の合計を含む単一行が返されます。

説明

MySQL ではこの動作が許可されています。 GROUP BY 句がないと、すべての行が暗黙的にグループ化されると見なされます。したがって、テーブル全体または複数の行に適用される集計関数は、単一の暗黙的なグループで動作します。

以前の動作

MySQL バージョン 5.7.5 より前では、これは行動は何の制限も受けませんでした。ただし、SQL 標準への準拠を強化するために、新しいサーバー SQL モード ONLY_FULL_GROUP_BY が導入されました。このモードを有効にすると、すべての集約関数の使用に GROUP BY 句が必要になります。

結論

GROUP BY 句を使用しない MySQL の集約関数の独自の処理により、データの柔軟性が提供されます。検索。ただし、この動作を理解し、SQL 標準に準拠するために ONLY_FULL_GROUP_BY を有効にすることを検討することが重要です。

以上がMySQL が GROUP BY 句なしで集計関数を使用できるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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