Pouvez-vous utiliser group by sans agrégat ?
Pouvez-vous utiliser group by sans agrégat ?

Vidéo: Pouvez-vous utiliser group by sans agrégat ?

Vidéo: Pouvez-vous utiliser group by sans agrégat ?
Vidéo: COURS 5 #SQL #ORDER BY, #GROUP BY, Fonctions d’agrégat,# jointures, #Alias ... 2024, Peut
Anonim

Vous pouvez utiliser les GROUPER PAR clause sans pour autant l'application d'un agrégat fonction. La requête suivante obtient les données de la table de paiement et groupes le résultat par identifiant client. Dans ce cas, le GROUPER BY fonctionne comme la clause DISTINCT qui supprime les lignes en double du jeu de résultats.

Juste ainsi, pouvons-nous utiliser la fonction d'agrégat sans group by?

Oui vous pouvez utiliser un agréger sans GROUP BY: SELECT SUM(col) FROM tbl; Tu omettre les colonnes du SELECT à l'intérieur fonctions d'agrégation , toutes les autres colonnes doivent exister dans GROUPER Clause BY séparée par une virgule.

Sachez également que le groupe est-il une fonction d'agrégation ? Les GROUPER PAR déclaration groupes lignes qui ont les mêmes valeurs en lignes récapitulatives, comme "trouver le nombre de clients dans chaque pays". Les GROUPER L'instruction BY est souvent utilisée avec fonctions d'agrégation (COUNT, MAX, MIN, SUM, AVG) à grouper l'ensemble de résultats par une ou plusieurs colonnes.

En conséquence, pouvons-nous utiliser group by sans avoir de clause?

À l'aide de avoir sans groupe par. Une requête avec un avoir une clause devrait également avoir un grouper par clause . Si vous omettez grouper par, toutes les lignes non exclues par le où clause revenir seul grouper . Étant donné qu'aucun regroupement n'est effectué entre le où et avoir des clauses , ils ne peuvent pas agir indépendamment les uns des autres.

Peut-on utiliser group by dans les jointures ?

Vous pouvez interroger les données de plusieurs tables à l'aide de l'INNER REJOINDRE clause, alors utilisation les GROUPER PAR clause à grouper lignes en un ensemble de lignes récapitulatives.

Conseillé: