Sélection de valeurs distinctes à partir de plusieurs colonnes dans MySQL
Lorsque vous travaillez avec des bases de données, il est souvent nécessaire de récupérer des combinaisons uniques de valeurs à partir de plusieurs colonnes. Cependant, l'utilisation du mot-clé DISTINCT ne donne pas toujours les résultats souhaités. Cet article explore une approche alternative pour sélectionner des valeurs distinctes à partir de deux colonnes dans une base de données MySQL.
Considérez le tableau suivant nommé "foo_bar":
foo | bar |
---|---|
a | c |
c | f |
d | a |
c | un |
f | c |
a | c |
d | a |
un | c |
c | a |
f | c |
Requête cette table avec l'instruction SQL suivante :
SELECT DISTINCT foo, bar FROM foo_bar;
produit ce qui suit résultat :
foo | bar |
---|---|
a | c |
c | f |
d | a |
c | a |
f | c |
Pendant que cette requête garantit qu'une seule instance de chaque combinaison de valeurs unique est renvoyée, elle n'élimine pas les redondances où les valeurs sont échangées dans les deux colonnes. Par exemple, « a c » et « c a » sont des combinaisons distinctes, mais elles font référence aux mêmes données.
Pour résoudre ce problème, nous pouvons utiliser la clause GROUP BY à la place :
SELECT foo, bar FROM foo_bar GROUP BY foo, bar;
Cette requête renvoie ce qui suit résultat :
foo | bar |
---|---|
a | c |
c | f |
d | a |
Comme vous pouvez le voir, la clause GROUP BY combine toutes les lignes en double en une seule ligne, éliminant efficacement les répétitions et fournissant des combinaisons vraiment distinctes de valeurs des colonnes foo et bar.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3