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

Ayudita discriminar resultados

Estas en el tema de Ayudita discriminar resultados en el foro de Mysql en Foros del Web. Hola buenas, tengo una tabla con estas columnas y estos valores de ejemplo: Código HTML: id ref texto fecha 1 12 texto1 2010-09-18 2 12 ...
  #1 (permalink)  
Antiguo 16/09/2010, 18:37
 
Fecha de Ingreso: noviembre-2003
Mensajes: 16
Antigüedad: 20 años, 4 meses
Puntos: 0
Ayudita discriminar resultados

Hola buenas, tengo una tabla con estas columnas y estos valores de ejemplo:

Código HTML:
id   ref   texto      fecha

1   12   texto1  2010-09-18
2   12   texto2  2010-09-17
3   12   texto3  2010-09-16
4   11   texto4  2010-09-15
5   15   texto5  2010-09-14
Y me gustaría obtener los registros más actuales (ordenados por fecha) pero de diferente ref. O sea:
Código HTML:
1   12   texto1  2010-09-18
4   11   texto4  2010-09-15
5   15   texto5  2010-09-14
Como véis, descarta los de campo ref repetidos, pero los antiguos y se queda con el más nuevo.
¿Cómo podría hacer la consulta? Porque no lo consigo y parece fácil... Le he dado vueltas al GROUP BY y al DISTINCT pero no doy con ello.

Gracias!
  #2 (permalink)  
Antiguo 16/09/2010, 22:01
Avatar de Perr0  
Fecha de Ingreso: mayo-2005
Ubicación: Santiago de Chile, Chile
Mensajes: 676
Antigüedad: 18 años, 10 meses
Puntos: 79
Respuesta: Ayudita discriminar resultados

Código PHP:
SELECT FROM tabla GROUP BY ref ORDER BY fecha DESC 
  #3 (permalink)  
Antiguo 16/09/2010, 22:36
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años
Puntos: 300
Respuesta: Ayudita discriminar resultados

Código MySQL:
Ver original
  1. SELECT t1.id, t1.ref, t1.texto, t1.fecha FROM
  2.  (SELECT id, ref, texto, fecha FROM tabla ORDER BY fecha DESC)t1 GROUP BY t1.ref
  #4 (permalink)  
Antiguo 17/09/2010, 04:51
 
Fecha de Ingreso: noviembre-2003
Mensajes: 16
Antigüedad: 20 años, 4 meses
Puntos: 0
Respuesta: Ayudita discriminar resultados

Perro, eso ya lo había probado y me hace la agrupación sin orden. Del grupo de igual ref no coje el más actual.

Jurena, me da error la consulta. Estoy usando MYSQL 4.1 así que puede ser por eso. Te la dejo tal cual, con nombres reales:

Código HTML:
SELECT t1.com_id, t1.id, t1.com_dis, t1.DATETIME FROM
 (SELECT com_id, id, com_dis, DATETIME FROM comments ORDER BY DATETIME DESC)t1 GROUP BY t1.id
las consultas individuales no dan error así que puede ser el anidado lo que no deje hacer...
  #5 (permalink)  
Antiguo 17/09/2010, 07:55
 
Fecha de Ingreso: marzo-2007
Mensajes: 74
Antigüedad: 17 años, 1 mes
Puntos: 0
Respuesta: Ayudita discriminar resultados

Los mas antiguos
Select distinct ref,texto,fecha from t1 order by fecha DESC

Los mas nuevos
Select distinct ref,texto,fecha from t1 order by fecha ASC

Saludos.
  #6 (permalink)  
Antiguo 17/09/2010, 14:34
 
Fecha de Ingreso: septiembre-2009
Ubicación: Cuenca
Mensajes: 57
Antigüedad: 14 años, 7 meses
Puntos: 3
Respuesta: Ayudita discriminar resultados

Ésta es la orden que facilita lo que necesitas para la tabla que la llamo 'fecha':

select f1.* from fecha f1 left join fecha f2 on f1.fecha<f2.fecha and f1.ref=f2.ref where f2.id is null;

Por si acaso, la efectividad de esta orden está probada según el último manual de MySQL 5.1 en inglés (el más actual)
Un saludo. Cualquier cosa me avisas ok?

Última edición por pancho2413; 17/09/2010 a las 14:38 Razón: Error en la respuesta
  #7 (permalink)  
Antiguo 17/09/2010, 20:14
 
Fecha de Ingreso: noviembre-2003
Mensajes: 16
Antigüedad: 20 años, 4 meses
Puntos: 0
Respuesta: Ayudita discriminar resultados

Gracias a todos.
winexim, ordenar los ordena bien, pero no me los agrupa. me muestra todos y quiero que agrupe por id, pero con orden antes de agrupar (que quede el de fecha más nueva sólo).

pancho2413, perfecto, me coge sólo el último registro de los registros con mismo campo ref.

Gracias!
  #8 (permalink)  
Antiguo 21/09/2010, 11:32
 
Fecha de Ingreso: septiembre-2009
Ubicación: Cuenca
Mensajes: 57
Antigüedad: 14 años, 7 meses
Puntos: 3
Respuesta: Ayudita discriminar resultados

No problema, aunque un Karma no me vendría mal hehehe

Etiquetas: resultados
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 07:36.