varios unico una tabla seleccionar seleccion registro mostrar especificos ejemplos datos consultas consulta como campos basicas mysql sql database distinct distinct-values

unico - Seleccionando distintas combinaciones de 2 columnas en mysql



seleccionar varios campos de una tabla en mysql (6)

Actualización 1

Mejor usas esto contra lo de arriba.

SELECT id, col2, col3, col4 FROM yourtable GROUP BY col2, col3;

Demo

La razón por la que estoy diciendo es porque utilizando CONCAT, no obtengo el resultado deseado en este caso . La primera consulta me está devolviendo 5 filas, sin embargo, CONCAT me está devolviendo 4 filas, lo cual es INCORRECTO.

Espero que tengas mi punto.

Suponiendo que las columnas en la tabla son (id, col2, col3, col4).

SELECT DISTINCT(CONCAT(col2, col3)) as "dummy column", id, col2, col3, col4 FROM yourtable GROUP BY CONCAT(col2, col3);

O

SELECT id, col2, col3, MIN(col4) FROM yourtable GROUP BY col2, col3;

ejemplo de trabajo en vivo

Tengo una tabla mysql que se ve así:

1 value1 value2 3534 2 value1 value1 8456 3 value1 value2 3566 4 value1 value3 7345 5 value2 value3 6734

Necesito una consulta para seleccionar todas las filas con distintas columnas 2 y 3, por ejemplo, la salida que quiero para este ejemplo se verá así:

1 value1 value2 3534 2 value1 value1 8456 4 value1 value3 7345 5 value2 value3 6734

He encontrado algunos ejemplos de cómo hacerlo pero todos seleccionan distintos en cada columna individualmente.


El uso del grupo por método me está devolviendo filas adicionales, donde se comprueba explícitamente cada campo, aunque más tiempo devuelve el mismo número de registros que el recuento (Distintivo ..)

SELECT id, col2, col3, col4 FROM yourtable yt WHERE id = ( SELECT MIN(id) FROM yourtable yt1 WHERE yt.col2 = yt1.col2 AND yt.col3 = yt1.col3 )


Esta consulta asegura que la combinación de column1 y column2 es única, mientras selecciona el valor mínimo de la columna tres

SELECT col1, col2, MIN(col3) FROM yourTable GROUP BY col1, col2


La consulta más simple para esto es

SELECT col1, col2, MIN(col3) FROM myTable GROUP BY col1, col2


Suponiendo que la primera columna es única, puede hacer esto:

SELECT id, col2, col3, col4 FROM yourtable WHERE id IN ( SELECT MIN(id) FROM yourtable GROUP BY col2, col3 )

sqlfiddle trabajando en línea: sqlfiddle


Suponiendo que las columnas de la tabla son (id, col1, col2, col3) , podría:

SELECT * FROM YourTable yt JOIN ( SELECT MIN(id) as minid FROM YourTable GROUP BY col1, col2 ) filter ON filter.minid = yt.id