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

una consulta

Estas en el tema de una consulta en el foro de Mysql en Foros del Web. hola. tengo una tabla llamada fotos con los siguientes campos: id usuario fecha comentarios url_foto en la tabla hay registros repetidos (a exepcion de id ...
  #1 (permalink)  
Antiguo 06/06/2009, 15:19
Avatar de GABRIL  
Fecha de Ingreso: febrero-2007
Mensajes: 280
Antigüedad: 17 años, 2 meses
Puntos: 4
una consulta

hola.

tengo una tabla llamada fotos con los siguientes campos:


id
usuario
fecha
comentarios
url_foto

en la tabla hay registros repetidos (a exepcion de id que es autonumerico),
los campos que se repiten son usuario, fecha, comentarios, url_foto.
Lo que quiero es si en la tabla tengo por ejemplo los siguientes registros:

id usuario fecha comentarios url_foto

1 gabril50 2009-06-05 [BLOB - 17 Bytes] img_upload/fuego.jpg
2 gabril50 2009-06-05 [BLOB - 49 Bytes] img_upload/web_3164055fuego.gif
3 pedro20 2009-06-05 [BLOB - 49 Bytes] img_upload/web_3164055fuego.gif
4 gabril50 2009-06-05 [BLOB - 49 Bytes] img_upload/web_3164055fuego.gif
5 pedro20 2009-06-05 [BLOB - 17 Bytes] img_upload/leguas-de-fuego.jpg
6 gabril50 2009-06-05 [BLOB - 83 Bytes] img_upload/1200-.jpg
7 gabril50 2009-06-05 [BLOB - 32 Bytes] img_upload/coche.jpg
8 marychi 2009-06-06 [BLOB - 22 Bytes] img_upload/hjhj.jpg
9 gabril50 2009-06-06 [BLOB - 51 Bytes] img_upload/bosque2.jpg
10 marychi 2009-06-06 [BLOB - 41 Bytes] img_upload/4_BLUDDM.jpg



necesito un select que me muestre solamente esto:


id usuario fecha comentarios url_foto

9 gabril50 2009-06-06 [BLOB - 51 Bytes] img_upload/bosque2.jpg
8 marychi 2009-06-06 [BLOB - 22 Bytes] img_upload/hjhj.jpg
5 pedro20 2009-06-05 [BLOB - 17 Bytes] img_upload/leguas-de-fuego.jpg

como veran, necesito ignorar los registros repetidos, y que solo me muestre un registro de los repetidos, en orden DESC.

bueno. espero y haya sido claro.
esperos sus comentarios.
saludos.
  #2 (permalink)  
Antiguo 06/06/2009, 15:42
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: una consulta

Hola GABRIL,

Usa un DISTINCT en tu SELECT para seleccionar los registros unicos.

Saludos.
  #3 (permalink)  
Antiguo 06/06/2009, 16:23
Avatar de GABRIL  
Fecha de Ingreso: febrero-2007
Mensajes: 280
Antigüedad: 17 años, 2 meses
Puntos: 4
me das un ejemplo brother?
o algun link para checar algun ejemplo.

estoy fresco en mysql.
gracias.
saludos.

ya solucione un problema, pero ahora me resulta otro.

tengo esto: $query_fotos_flog = "SELECT DISTINCT usuario FROM fotos_usuario ORDER BY id DESC"; ,me muestra solo un registro de los que estan repetidos.

lo que quiero es que me muestre otro campo la misma consulta, el campo id,
cuando hago esto:
"SELECT DISTINCT usuario, id FROM fotos_usuario ORDER BY id DESC";
me muestra todos los registro de la tabla, debido a que id es autonumerico, y no se repite,

como hacerle para que me muestre la misma consulta dos campos a la vez?? aunque id no se repita??

gracias,.

Última edición por GatorV; 06/06/2009 a las 19:49
  #4 (permalink)  
Antiguo 06/06/2009, 19:49
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: una consulta

Tema trasladado desde PHP
  #5 (permalink)  
Antiguo 07/06/2009, 00:36
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 1 mes
Puntos: 300
Respuesta: una consulta

No sé si te habré entendido:

Código sql:
Ver original
  1. SELECT t1.usuario, t1.id FROM (SELECT usuario, id FROM fotos_usuario ORDER BY id DESC)t1 GROUP BY t1.usuario
debería mostrarte usuario y el último id de cada usuario, y de una forma eficiente, como nos mostró recientemente gnzsoloyo.

Naturalmente, puedes poner todos los nombres de campo que quieras, pero tendrás que seleccionarlo en la consulta interior y luego en la que sirve para seleccionar uno de cada mediante agrupación.
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 00:04.