Mysql
 sql >> Base de données >  >> RDS >> Mysql

MySQL - Quelle est la différence entre GROUP BY et DISTINCT ?

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.