sql >> Base de Datos >  >> RDS >> Mysql

MySQL:ignorar una columna seleccionada cuando se usa DISTINCT

Hay dos casos aquí. Digamos que tienes los datos

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

Tomando valores distintos de A, B da solo un resultado (a, b), con dos valores para la columna C. Entonces, la pregunta es si desea ver todos los valores de C o solo un valor para cada valor distinto de las columnas A y B ?

Si desea ver solo un valor de C, puede escribir

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

Por otro lado, si desea ver todos los valores de C, entonces

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

te da eso Esta última alternativa es necesaria si hay otras columnas en la tabla.