Duplicata de
Y a-t-il une différence entre GROUP BY et DISTINCT
C'est déjà évoqué ici
Si vous voulez toujours écouter ici
Eh bien group by et distinct a sa propre utilisation.
Distinct est utilisé pour filtrer les enregistrements uniques parmi les enregistrements qui répondent aux critères de requête.
La clause Group by est utilisée pour regrouper les données sur lesquelles les fonctions d'agrégation sont déclenchées et la sortie est renvoyée en fonction des colonnes de la clause group by. Il a ses propres limites, telles que toutes les colonnes qui se trouvent dans la requête de sélection, à l'exception des fonctions d'agrégation, doivent faire partie de la clause Group by.
Ainsi, même si vous pouvez avoir les mêmes données renvoyées par distinct et group by clause, il est préférable d'utiliser distinct. Voir l'exemple ci-dessous
select col1,col2,col3,col4,col5,col6,col7,col8,col9 from table group by col1,col2,col3,col4,col5,col6,col7,col8,col9
peut être écrit comme
select distinct col1,col2,col3,col4,col5,col6,col7,col8,col9 from table
Cela vous facilite la vie lorsque vous avez plus de colonnes dans la liste de sélection. Mais en même temps, si vous devez afficher sum(col10) avec les colonnes ci-dessus, vous devrez utiliser Group By. Dans ce cas, distinct ne fonctionnera pas.
par exemple
select col1,col2,col3,col4,col5,col6,col7,col8,col9,sum(col10) from table group by col1,col2,col3,col4,col5,col6,col7,col8,col9
J'espère que cela vous aidera.