Maison > base de données > tutoriel mysql > Comment obtenir des valeurs vraiment distinctes à partir de plusieurs colonnes dans MySQL ?

Comment obtenir des valeurs vraiment distinctes à partir de plusieurs colonnes dans MySQL ?

Linda Hamilton
Libérer: 2024-10-29 11:05:02
original
487 Les gens l'ont consulté

How to Get Truly Distinct Values from Multiple Columns in MySQL?

Comment sélectionner des 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 valeurs uniques ou distinctes à partir de plusieurs colonnes. Cependant, l'utilisation de la simple clause SELECT DISTINCT peut ne pas toujours donner les résultats souhaités.

Le problème

Considérez le scénario suivant :

Table: foo_bar

foo | bar
--- | ---
a   | c
c   | f
d   | a
c   | a
f   | c
a   | c
d   | a
a   | c
c   | a
f   | c
Copier après la connexion

L'exécution de la requête SELECT DISTINCT foo, bar FROM foo_bar renverrait les résultats suivants :

foo | bar
--- | ---
a   | c
c   | f
d   | a
c   | a
f   | c
Copier après la connexion

Remarquez que même si les valeurs de chaque colonne sont distinctes, les paires elles-mêmes ne le sont pas. Par exemple, la paire a et c apparaît deux fois, juste dans un ordre différent.

La solution : utiliser GROUP BY

Pour obtenir des paires de valeurs vraiment distinctes, vous peut utiliser la clause GROUP BY :

SELECT foo, bar FROM foo_bar GROUP BY foo, bar
Copier après la connexion

La clause GROUP BY demande à la base de données de regrouper les résultats en fonction des colonnes spécifiées. Dans ce cas, elle regroupera les lignes par colonnes foo et bar.

Par conséquent, la requête ne renverra que des paires de valeurs uniques :

foo | bar
--- | ---
a   | c
c   | f
d   | a
Copier après la connexion

Cette approche garantit que vous récupère uniquement les combinaisons uniques de valeurs des multiples colonnes spécifiées.

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