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

seleccionar varios campos con distinct

Estas en el tema de seleccionar varios campos con distinct en el foro de Mysql en Foros del Web. quisiera seleccionar varios campos de una tabla donde se repiten varios regitros, lo que quiero es obtener 1 solo registro aunque este este repetido. usando ...
  #1 (permalink)  
Antiguo 08/06/2009, 12:02
Avatar de GABRIL  
Fecha de Ingreso: febrero-2007
Mensajes: 280
Antigüedad: 17 años, 2 meses
Puntos: 4
seleccionar varios campos con distinct

quisiera seleccionar varios campos de una tabla donde se repiten varios regitros, lo que quiero es obtener 1 solo registro aunque este este repetido. usando esto:

"SELECT DISTINCT usuario FROM fotos_usuario ORDER BY id DESC";

me devuelve pero solo una columna, lo que deseo es que me devuelva los demas campos con sus respectivos registros, de acuerdo a la validacion del campo usuario.

cuando hago esto:

"SELECT DISTINCT usuario, fecha_nac, nacionalidad FROM fotos_usuario ORDER BY id DESC";

me lanza un error.
espero sus comentarios.
saludos.
  #2 (permalink)  
Antiguo 08/06/2009, 12:16
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: seleccionar varios campos con distinct

Con SELECT DISTINCT * FROM tabla; debería bastar.
  #3 (permalink)  
Antiguo 08/06/2009, 12:59
Avatar de GABRIL  
Fecha de Ingreso: febrero-2007
Mensajes: 280
Antigüedad: 17 años, 2 meses
Puntos: 4
Respuesta: seleccionar varios campos con distinct

Cita:
Con SELECT DISTINCT * FROM tabla; debería bastar.
y de que columna se supone hara la validacion???
toma la primer columna???
  #4 (permalink)  
Antiguo 08/06/2009, 13:23
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: seleccionar varios campos con distinct

DISTINCT actua sobre todos los registros, no mira una columna especifica.

Tema trasladado desde PHP
  #5 (permalink)  
Antiguo 08/06/2009, 14:09
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 1 mes
Puntos: 300
Respuesta: seleccionar varios campos con distinct

Si el campo que se repite es usuario, así obtendrás una sola foto por usuario, pero la primera.

SELECT * FROM fotos_usuario group by usuario

Si quieres la última, puedes hacer esto (he inventado los nombres de los campos):
select t1.id, t1.usuario, t1.foto, t1. fecha FROM (SELECT id, usuario, foto, fecha FROM fotos_usuario ORDER BY fecha DESC)t1 GROUP BY usuario

No lo he probado
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 15:46.