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

MySQL :Ignorer une colonne sélectionnée lors de l'utilisation de DISTINCT

Il y a deux cas ici. Disons que vous avez les données

A  B  C   (columns)
a  b  c1
a  b  c2

En prenant des valeurs distinctes de A, B donne un seul résultat (a, b), avec deux valeurs pour la colonne C. La question est donc de savoir si vous voulez voir toutes les valeurs de C ou une seule valeur pour chaque valeur distincte des colonnes A et B. ?

Si vous voulez voir une seule valeur de C, vous pouvez écrire

SELECT A, B, MAX(C) FROM YourTable
  GROUP BY A, B

D'un autre côté, si vous voulez voir toutes les valeurs de C, alors

SELECT DISTINCT A, B, C FROM YourTable WHERE ROW(A,B) IN 
  (SELECT A, B FROM YourTable
     GROUP BY A, B)

vous donne ça. Cette dernière alternative est nécessaire s'il y a d'autres colonnes dans le tableau.