Maison > base de données > tutoriel mysql > Une clause HAVING peut-elle exister sans clause GROUP BY en SQL standard ?

Une clause HAVING peut-elle exister sans clause GROUP BY en SQL standard ?

Barbara Streisand
Libérer: 2025-01-05 09:25:40
original
243 Les gens l'ont consulté

Can a HAVING Clause Exist Without a GROUP BY Clause in Standard SQL?

HAVING sans GROUP BY : conformité au standard SQL

Une clause HAVING peut-elle exister sans clause GROUP BY en SQL standard ? Selon la norme, une clause GROUP BY est requise lors de l'utilisation d'une clause HAVING. La norme stipule que chaque colonne référencée dans la clause HAVING doit être fonctionnellement dépendante des colonnes de la clause GROUP BY ou d'une référence externe.

Cependant, MySQL autorise une clause HAVING sans clause GROUP BY, et elle fonctionne comme prévu dans une condition spécifique : lorsque la première ligne a la valeur maximale pour la colonne spécifiée.

Pour se conformer à la norme, la requête doit être modifiée pour inclure une clause GROUP BY. Par exemple, si nous voulons récupérer les lignes avec le nombre maximum de pages, la requête corrigée serait :

SELECT *
FROM Book
GROUP BY BookID
HAVING NumberOfPages = MAX(NumberOfPages)
Copier après la connexion

Cette requête regrouperait les lignes par BookID et appliquerait la condition HAVING à chaque groupe, renvoyant uniquement les lignes avec le nombre maximum de pages dans chaque groupe.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal