ホームページ >データベース >mysql チュートリアル >標準 SQL では GROUP BY 句なしで HAVING 句が存在できますか?
GROUP BY なしの HAVING: 標準 SQL 準拠
標準 SQL では GROUP BY 句なしで HAVING 句が存在できますか?標準によれば、HAVING 句を使用する場合は GROUP BY 句が必要です。標準では、HAVING 句で参照される各カラムは、GROUP BY 句のカラムまたは外部参照に機能的に依存する必要があると規定されています。
ただし、MySQL では GROUP BY 句なしの HAVING 句が許可されており、特定の条件下で期待どおりに機能します。つまり、最初の行が指定された列の最大値を持つ場合です。
標準に準拠するには、クエリを変更して、 GROUP BY 句。たとえば、最大ページ数の行を取得する場合、修正されたクエリは次のようになります。
SELECT * FROM Book GROUP BY BookID HAVING NumberOfPages = MAX(NumberOfPages)
このクエリは、BookID で行をグループ化し、各グループに HAVING 条件を適用して、次のクエリを返します。各グループ内の最大ページ数の行のみ。
以上が標準 SQL では GROUP BY 句なしで HAVING 句が存在できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。