Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Varios resultados en uno?

Estas en el tema de Varios resultados en uno? en el foro de Mysql en Foros del Web. La verdad es que el titulo no es muy descriptivo, pero no se me ocurria que mas poner... Bueno, la duda no es gran cosa, ...
  #1 (permalink)  
Antiguo 24/07/2012, 09:07
 
Fecha de Ingreso: mayo-2011
Mensajes: 214
Antigüedad: 12 años, 11 meses
Puntos: 16
Pregunta Varios resultados en uno?

La verdad es que el titulo no es muy descriptivo, pero no se me ocurria que mas poner...

Bueno, la duda no es gran cosa, pero no se resolverla yo solito:
Tengo una tabla con un campo llamado color, donde pongo colores, azul, rojo, morado, amarillo, etc y lo que ocurre es que muchos campos tienen el azul repetido varias veces, igual que muchos otros colores. Lo que quiero es recuperar, no todos los datos, sino únicamente todos los colores diferentes que hay, osea, si el azul esta 4 veces, solo quiero que me lo devuelva una vez tras hacer la consulta, de modo que me quede solo cuantos colores diferentes hay y sus nombres.

No se si me he expresado del todo bien, pero espero que me puedan ayudar!
  #2 (permalink)  
Antiguo 24/07/2012, 09:31
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 3 meses
Puntos: 447
Respuesta: Varios resultados en uno?

Hola moro666:

Puedes hacerlo de dos formas... una sería utilizando la cláusula DISTINCT

Código MySQL:
Ver original
  1. mysql> SELECT color FROM tabla;
  2. +----------+
  3. | color    |
  4. +----------+
  5. | azul     |
  6. | rojo     |
  7. | azul     |
  8. | amarillo |
  9. | amarillo |
  10. | rojo     |
  11. | azul     |
  12. +----------+
  13. 7 rows in set (0.00 sec)
  14.  
  15.  
  16. mysql> SELECT DISTINCT color FROM tabla;
  17. +----------+
  18. | color    |
  19. +----------+
  20. | azul     |
  21. | rojo     |
  22. | amarillo |
  23. +----------+
  24. 3 rows in set (0.05 sec)

También podrías hacerlo utilizando la cláusula GROUP BY:

Código MySQL:
Ver original
  1. mysql> SELECT color FROM tabla GROUP BY color;
  2. +----------+
  3. | color    |
  4. +----------+
  5. | amarillo |
  6. | azul     |
  7. | rojo     |
  8. +----------+
  9. 3 rows in set (0.01 sec)

Investiga la diferencia de cada una de ellas para determinar cuál de las dos es la que te sirve más.

Saludos
Leo.
  #3 (permalink)  
Antiguo 24/07/2012, 09:39
 
Fecha de Ingreso: mayo-2011
Mensajes: 214
Antigüedad: 12 años, 11 meses
Puntos: 16
Respuesta: Varios resultados en uno?

Dios, tan facil?! Muchas gracias!!
  #4 (permalink)  
Antiguo 24/07/2012, 10:24
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 3 meses
Puntos: 447
Respuesta: Varios resultados en uno?



Suele suceder... en verdad esta pregunta es básica, por lo que puedo suponer que apenas estás comenzando con esto de SQL... Te recomiendo que busques cualquier libro de fundamentos SQL y le des una buena leída, te ahorraras muchos problemas en el futuro.

Saludos
Leo.
  #5 (permalink)  
Antiguo 24/07/2012, 10:40
 
Fecha de Ingreso: mayo-2011
Mensajes: 214
Antigüedad: 12 años, 11 meses
Puntos: 16
Respuesta: Varios resultados en uno?

Veras, esque sql solo lo uso para cosas elementales hechas en php, asi que no suelo usar cosas "raras".
De todas formas me comprare algun libro de sql, nunca esta de mas!

Muchas gracias!

Etiquetas: resultados, tabla, campos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:16.