Seleccionar valores distintos de varias columnas en MySQL
Cuando se trabaja con bases de datos, a menudo es necesario recuperar combinaciones únicas de valores de varias columnas. Sin embargo, es posible que el uso de la palabra clave DISTINCT no siempre produzca los resultados deseados. Este artículo explora un enfoque alternativo para seleccionar valores distintos de dos columnas en una base de datos MySQL.
Considere la siguiente tabla denominada "foo_bar":
foo | barra |
---|---|
a | do |
c | f |
d | a |
c | a |
f | c |
a | c |
d | a |
a | c |
c | a |
f | c |
Consulta esta tabla con la siguiente declaración SQL:
SELECT DISTINCT foo, bar FROM foo_bar;
produce lo siguiente resultado:
foo | barra |
---|---|
a | c |
c | f |
d | a |
c | a |
f | c |
Mientras esta consulta garantiza que solo se devuelva una instancia de cada combinación de valores única, no elimina las redundancias donde los valores se intercambian en las dos columnas. Por ejemplo, "a c" y "c a" son combinaciones distintas, pero se refieren a los mismos datos.
Para solucionar este problema, podemos usar la cláusula GROUP BY:
SELECT foo, bar FROM foo_bar GROUP BY foo, bar;
Esta consulta devuelve lo siguiente resultado:
foo | barra |
---|---|
a | do |
c | f |
d | a |
Como Como puede ver, la cláusula GROUP BY combina todas las filas duplicadas en una sola fila, eliminando efectivamente las repeticiones y proporcionando combinaciones de valores verdaderamente distintas de las columnas foo y bar.
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3